Skip to content

Commit 3826c83

Browse files
authored
chore: Cherry-pick of #1200 into release/0.11 branch (#1201)
Signed-off-by: Alfredo Gutierrez Grajeda <alfredo@hashgraph.com>
1 parent fd71b70 commit 3826c83

File tree

2 files changed

+29
-19
lines changed

2 files changed

+29
-19
lines changed

block-node/app/src/main/java/org/hiero/block/node/app/BlockNodeApp.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,23 @@ public class BlockNodeApp implements HealthFacility {
7676
BlockNodeApp(final ServiceLoaderFunction serviceLoader, final boolean shouldExitJvmOnShutdown) throws IOException {
7777
this.shouldExitJvmOnShutdown = shouldExitJvmOnShutdown;
7878
// ==== LOAD LOGGING CONFIG ====================================================================================
79-
// load the logging configuration from the classpath and make it colorful
80-
try (var loggingConfigIn = BlockNodeApp.class.getClassLoader().getResourceAsStream("logging.properties")) {
81-
if (loggingConfigIn != null) {
82-
LogManager.getLogManager().readConfiguration(loggingConfigIn);
83-
} else {
84-
LOGGER.log(INFO, "No logging configuration found");
79+
final boolean externalLogging = System.getProperty("java.util.logging.config.file") != null;
80+
if (externalLogging) {
81+
LOGGER.log(INFO, "External logging configuration found");
82+
} else {
83+
// load the logging configuration from the classpath and make it colorful
84+
try (var loggingConfigIn = BlockNodeApp.class.getClassLoader().getResourceAsStream("logging.properties")) {
85+
if (loggingConfigIn != null) {
86+
LogManager.getLogManager().readConfiguration(loggingConfigIn);
87+
} else {
88+
LOGGER.log(INFO, "No logging configuration found");
89+
}
90+
} catch (IOException e) {
91+
LOGGER.log(INFO, "Failed to load logging configuration", e);
8592
}
86-
} catch (IOException e) {
87-
LOGGER.log(INFO, "Failed to load logging configuration", e);
93+
CleanColorfulFormatter.makeLoggingColorful();
94+
LOGGER.log(INFO, "Using default logging configuration");
8895
}
89-
CleanColorfulFormatter.makeLoggingColorful();
9096
// tell helidon to use the same logging configuration
9197
System.setProperty("io.helidon.logging.config.disabled", "true");
9298
// ==== LOG HIERO MODULES ======================================================================================

block-node/app/src/main/java/org/hiero/block/node/app/logging/CleanColorfulFormatter.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,20 @@
1717
*/
1818
@SuppressWarnings("unused")
1919
public class CleanColorfulFormatter extends Formatter {
20-
public static final String RESET = "\u001B[0m";
21-
public static final String RED = "\u001B[31m";
22-
public static final String GREEN = "\u001B[32m";
23-
public static final String LIGHT_GREEN = "\u001B[92m";
24-
public static final String YELLOW = "\u001B[33m";
25-
public static final String BLUE = "\u001B[34m";
26-
public static final String MAGENTA = "\u001B[35m";
27-
public static final String CYAN = "\u001B[36m";
28-
public static final String GREY = "\u001B[37m";
29-
public static final String WHITE = "\u001B[97m";
20+
private static final boolean colorfulLogFormatterEnabled = LogManager.getLogManager()
21+
.getProperty("java.util.logging.ConsoleHandler.formatter")
22+
.contains(CleanColorfulFormatter.class.getName());
23+
24+
public static final String RESET = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[0m" : "";
25+
public static final String RED = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[31m" : "";
26+
public static final String GREEN = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[32m" : "";
27+
public static final String LIGHT_GREEN = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[92m" : "";
28+
public static final String YELLOW = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[33m" : "";
29+
public static final String BLUE = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[34m" : "";
30+
public static final String MAGENTA = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[35m" : "";
31+
public static final String CYAN = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[36m" : "";
32+
public static final String GREY = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[37m" : "";
33+
public static final String WHITE = CleanColorfulFormatter.colorfulLogFormatterEnabled ? "\u001B[97m" : "";
3034
public static final String FORMAT_PROPERTY = "org.hiero.block.node.app.logging.CleanColorfulFormatter.format";
3135
public static final String DEFAULT_FORMAT_STRING = "%TF %<TT.%<TL%<Tz %4$-7s %2$-40s %5$s%6$s%n";
3236
/** The string format of the log message */

0 commit comments

Comments
 (0)