From 6c616bdc70fe5e5701628721b1f4dcece42d3cf4 Mon Sep 17 00:00:00 2001 From: pablo gonzalez granados Date: Tue, 27 Apr 2021 14:25:47 +0200 Subject: [PATCH] Invalid logger breaks current application flow if a invalid ansi logger configuration is given, swap to default sdt out instead of throw an `IllegalStateException` exception --- core/src/main/java/io/dekorate/logger/AnsiLogger.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/io/dekorate/logger/AnsiLogger.java b/core/src/main/java/io/dekorate/logger/AnsiLogger.java index 3b105b303..3f3672b02 100644 --- a/core/src/main/java/io/dekorate/logger/AnsiLogger.java +++ b/core/src/main/java/io/dekorate/logger/AnsiLogger.java @@ -20,6 +20,9 @@ import static org.fusesource.jansi.Ansi.*; import static org.fusesource.jansi.Ansi.Color.*; + +import java.io.FileDescriptor; +import java.io.FileOutputStream; import java.io.PrintStream; import org.fusesource.jansi.*; @@ -29,7 +32,7 @@ public class AnsiLogger extends LoggerFactory implements Logger { - private final PrintStream stream; + private PrintStream stream; public Logger create(PrintStream stream) { return new AnsiLogger(stream); @@ -79,7 +82,9 @@ public void error(String message) { private void check() { if (stream == null) { - throw new IllegalStateException("AnsiLogger requires a PrintStream instance."); + stream = new PrintStream(new FileOutputStream(FileDescriptor.out)); + stream.println("Invalid AnsiLogger Stream -> Swapping to default sdt out logger."); } } + }