chore: clean up STDOUT redirect code
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
This commit is contained in:
parent
c776ccf9a2
commit
d36512167c
@ -27,7 +27,7 @@ public class LoggingOutputStream extends OutputStream {
|
||||
super.flush();
|
||||
String line = baos.toString();
|
||||
baos.reset();
|
||||
if (!line.isEmpty()) {
|
||||
if (!line.isBlank()) {
|
||||
logger.log(level, prefix + line.stripTrailing());
|
||||
}
|
||||
}
|
||||
|
@ -21,124 +21,65 @@ public class LoggingPrintStream extends PrintStream {
|
||||
this.level = Objects.requireNonNull(level);
|
||||
}
|
||||
|
||||
private void maybeLog(Object param) {
|
||||
if (param instanceof String s && s.isBlank()) return;
|
||||
logger.log(level, "[{0}] {1}", getCallerClassName().orElse(defaultName), param);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(boolean x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(char x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(int x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(long x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(float x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(double x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(char @NotNull [] x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(@Nullable String x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void println(@Nullable Object x) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), x);
|
||||
maybeLog(x);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(boolean b) {
|
||||
this.println(b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(char c) {
|
||||
this.println(c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(int i) {
|
||||
this.println(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(long l) {
|
||||
this.println(l);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(float f) {
|
||||
this.println(f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(double d) {
|
||||
this.println(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(char @NotNull [] s) {
|
||||
this.println(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(@Nullable String s) {
|
||||
this.println(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(@Nullable Object obj) {
|
||||
this.println(obj);
|
||||
}
|
||||
|
||||
/*
|
||||
* There's no need to override printf, as default implementation uses PrintStream.format
|
||||
*/
|
||||
|
||||
@Override
|
||||
public PrintStream format(@NotNull String format, Object... args) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), new Formatter().format(format, args).toString().stripTrailing());
|
||||
|
||||
maybeLog(new Formatter().format(format, args).toString().stripTrailing());
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PrintStream format(Locale l, @NotNull String format, Object... args) {
|
||||
Optional<String> caller = getCallerClassName();
|
||||
|
||||
logger.log(level, "[{0}] {1}", caller.orElse(defaultName), new Formatter().format(l, format, args).toString().stripTrailing());
|
||||
|
||||
maybeLog(new Formatter().format(l, format, args).toString().stripTrailing());
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -15,9 +15,12 @@ public class StdoutTest {
|
||||
mlg.log(System.Logger.Level.INFO, "Hello, World!");
|
||||
mlg.redirectSystemOut();
|
||||
System.out.println("Hello Wrold!");
|
||||
System.out.printf("Hello %s", "World");
|
||||
System.out.println();
|
||||
Iterator<String> iterator = mlg.iterator();
|
||||
assertEquals("[I] Hello, World!", iterator.next());
|
||||
assertEquals("[I] [io.gitlab.jfronny.commons.logger.test.StdoutTest] Hello Wrold!", iterator.next());
|
||||
assertEquals("[I] [io.gitlab.jfronny.commons.logger.test.StdoutTest] Hello World", iterator.next());
|
||||
assertFalse(iterator.hasNext());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user