有没有办法从一个特定的儿子那里执行所有的日志记录?
例如,:
-Parent
-Son
-Son2这就是密码:
public class HelloWorld {
public static void main(String[] args) {
Logger parent = LoggerFactory.getLogger("parent");
((ch.qos.logback.classic.Logger) parent).setLevel(Level.DEBUG);
Logger son= LoggerFactory.getLogger("parent.son");
son.debug("hello");
}
}输出:
14:15:25.180 [main] DEBUG logger.son- Hello world.
期望产出:
14:15:25.180 [main] DEBUG parent.son- Hello world. 14:15:25.180 [main] DEBUG parent- Hello world.
谢谢。
发布于 2017-04-04 06:20:34
这不是它的工作方式。SLF4J Logger层次结构不能以您想要的方式使用(也不应该使用)。
基本上,对于每个记录器,如果不定义任何设置,则将从父程序复制设置。在您的层次结构中,日志记录级别设置为DEFAULT表示parent,没有为parent.son定义任何内容。因此,parent.son的日志记录级别也将是DEBUG。因此,所有级别高于或等于DEBUG的日志都将记录为parent.son。如果您将子程序的日志级别设置为TRACE,那么这将优先于父级的调试级别。
https://stackoverflow.com/questions/43068845
复制相似问题