View Javadoc

1   package chapter5;
2   
3   import ch.qos.logback.classic.Level;
4   import ch.qos.logback.classic.pattern.ClassicConverter;
5   import ch.qos.logback.classic.spi.LoggingEvent;
6   
7   public class MySampleConverter extends ClassicConverter {
8   
9     private static final String END_COLOR = "\u001b[m";
10  
11    private static final String ERROR_COLOR = "\u001b[0;31m";
12    private static final String WARN_COLOR = "\u001b[0;33m";
13  
14    @Override
15    public String convert(LoggingEvent event) {
16      StringBuffer sbuf = new StringBuffer();
17      sbuf.append(getColor(event.getLevel()));
18      sbuf.append(event.getLevel());
19      sbuf.append(END_COLOR);
20      return sbuf.toString();
21    }
22  
23    /**
24     * Returns the appropriate characters to change the color for the specified
25     * logging level.
26     */
27    private String getColor(Level level) {
28      switch (level.toInt()) {
29      case Level.ERROR_INT:
30        return ERROR_COLOR;
31      case Level.WARN_INT:
32        return WARN_COLOR;
33      default:
34        return "";
35      }
36    }
37  }