1

我的英文写作很差。非常抱歉...

我想通过方法名称库限制日志记录。并使用类和方法通配符。

我想...

test.a.ClassA.java

public class ClassA {
  public static void methodA() {
    logger.debug("methodA called.");

    test.b.ClassB.methodB();
  }
}

test.b.ClassB.java

public class ClassB {
  public static void methodB() {
    logger.debug("methodB called.");

    test.c.ClassC.methodC();
  }
}

test.c.ClassC.java

public class ClassC {
  public static void methodC() {
    logger.debug("methodC called.");
  }
}

log-config.xml 案例 1 - 启动日志,ClassB all 方法。

<logger start="test.b.ClassB.*" level="debug">
  <appender-ref ref="debugAppender"/>
</logger>

-- log output --
methodB called.
methodC called.
-- methodA not logged.

log-config.xml 案例 2 - 启动日志,ClassC all 方法。

<logger start="test.c.ClassC.*" level="debug">
  <appender-ref ref="debugAppender"/>
</logger>

-- log output --
methodC called.
-- methodA not logged.
-- methodB not logged.

log-config.xml 案例 3 - 启动日志,仅限 ClassB 特定方法。

<logger start="test.c.ClassB.methodB" level="debug"">
  <appender-ref ref="debugAppender"/>
</logger>

-- log output --
methodB called.
methodC called.
-- methodA not logged.

log-config.xml 案例 4 - 仅限 ClassB 特定方法。不调用类,方法记录

<logger only="test.c.ClassB.methodB" level="debug"">
  <appender-ref ref="debugAppender"/>
</logger>

-- log output --
methodB called.
-- methodA not logged.
-- methodC not logged.

如何 ??自定义logback ?? 使用 LoggerFactory.getLogger ??

请帮忙...

4

0 回答 0