如何从logback中过滤出来电0

时间:2014-03-14 15:57:13

标签: logback

我有一个自定义记录器(MyLogger),我使用logback记录数据。 在下面的示例代码中,logback将MyLogger.logData记录为调用类/方法(调用者{0})。我想跳过打印,而只打印调用类/方法。 基本上只是来电者{1}。

有没有办法以编程方式这样做?

class MyLogger {

public logData(String data) {
//use logback 
logBackLogger.log(data);
}

class CallingClass {
MyLogger myLogger = new MyLogger;
myLogger.logData("test");
}

感谢。

1 个答案:

答案 0 :(得分:0)

想出解决方案。实现了doLayout并在这里调用了getCallerData [1]。

公共类MyLayout扩展了PatternLayoutBase {

  public String doLayout(ILoggingEvent event) {


    sbuf.append(event.getTimeStamp());
    sbuf.append(" " );
    sbuf.append(event.getLevel());
    sbuf.append(" [");
    sbuf.append(event.getCallerData()[1]);
    sbuf.append("] ");
    sbuf.append(" ~- ");
    sbuf.append(event.getFormattedMessage());
    sbuf.append("\n");

    return sbuf.toString();
  }