View Javadoc

1   package chapter5;
2   
3   import ch.qos.logback.classic.spi.LoggingEvent;
4   import ch.qos.logback.core.LayoutBase;
5   
6   public class MySampleLayout2 extends LayoutBase<LoggingEvent> {
7   
8     String prefix = null;
9     boolean printThreadName = true;
10  
11    public void setPrefix(String prefix) {
12      this.prefix = prefix;
13    }
14  
15    public void setPrintThreadName(boolean printThreadName) {
16      this.printThreadName = printThreadName;
17    }
18  
19    public String doLayout(LoggingEvent event) {
20      StringBuffer sbuf = new StringBuffer(128);
21      if (prefix != null) {
22        sbuf.append(prefix + ": ");
23      }
24      sbuf.append(event.getTimeStamp() - LoggingEvent.getStartTime());
25      sbuf.append(" ");
26      sbuf.append(event.getLevel());
27      if (printThreadName) {
28        sbuf.append(" [");
29        sbuf.append(event.getThreadName());
30        sbuf.append("] ");
31      } else {
32        sbuf.append(" ");
33      }
34      sbuf.append(event.getLoggerRemoteView().getName());
35      sbuf.append(" - ");
36      sbuf.append(event.getFormattedMessage());
37      sbuf.append(LINE_SEP);
38      return sbuf.toString();
39    }
40  }