Skip to content

Commit dc0a04c

Browse files
committed
feat : add custom highlight to add color to logs
1 parent de7dc99 commit dc0a04c

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package me.itzg.helpers.logger;
2+
3+
import ch.qos.logback.classic.Level;
4+
import ch.qos.logback.classic.spi.ILoggingEvent;
5+
import ch.qos.logback.core.pattern.color.ANSIConstants;
6+
import ch.qos.logback.core.pattern.color.ForegroundCompositeConverterBase;
7+
8+
public class CustomHighlight extends ForegroundCompositeConverterBase<ILoggingEvent> {
9+
10+
@Override
11+
protected String getForegroundColorCode(ILoggingEvent event) {
12+
Level level = event.getLevel();
13+
switch (level.toInt()) {
14+
case Level.ERROR_INT:
15+
return ANSIConstants.BOLD + ANSIConstants.RED_FG; // same as default color scheme
16+
case Level.WARN_INT:
17+
return ANSIConstants.YELLOW_FG;// same as default color scheme
18+
case Level.INFO_INT:
19+
default:
20+
return ANSIConstants.DEFAULT_FG;
21+
}
22+
}
23+
24+
}

src/main/resources/logback.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<configuration>
2+
<conversionRule conversionWord="customHighlight" converterClass="me.itzg.helpers.logger.CustomHighlight" />
23
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
34
<filter class="ch.qos.logback.classic.filter.LevelFilter">
45
<level>INFO</level>
@@ -8,7 +9,7 @@
89
<!-- encoders are assigned the type
910
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
1011
<encoder>
11-
<pattern>[mc-image-helper] %d{HH:mm:ss.SSS} %-5level : %msg%n</pattern>
12+
<pattern>%customHighlight([mc-image-helper] %d{HH:mm:ss.SSS} %-5level : %msg%n)</pattern>
1213
</encoder>
1314
</appender>
1415
<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
@@ -21,7 +22,7 @@
2122
<!-- encoders are assigned the type
2223
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
2324
<encoder>
24-
<pattern>[mc-image-helper] %d{HH:mm:ss.SSS} %-5level : %msg%n</pattern>
25+
<pattern>%customHighlight([mc-image-helper] %d{HH:mm:ss.SSS} %-5level : %msg%n)</pattern>
2526
</encoder>
2627
</appender>
2728

0 commit comments

Comments
 (0)