View Javadoc

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