日志的输出应来自特定包。
现在在log4j.properties中,添加了以下属性: log4j.logger.com.pack1 = DEBUG,stdout
PFB代码(com.pack1.logging包中的test.java类):
package com.pack1.logging;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class test {
private static Logger myLogger = LoggerFactory.getLogger("xyz");
static {
myLogger.debug("test-my");
LoggerFactory.getLogger(test.class).debug("with class");
}
}
使用上面的代码后,
预期的o / p: 测试我的 与班级
实际o / p: 与班级
我想知道那个特定包的输出" com.pack1"。 有人可以帮我吗?在此先感谢:)
答案 0 :(得分:0)
除非您在log4j.properties中对其进行了不同的配置,否则您将从中获取记录器
LoggerFactory.getLogger("xyz")
可能是根记录器,可能设置为INFO
级别的记录,这就是为什么你没有看到" test-my"在日志输出中。
另一方面,由于您的test
类位于com.pack1
包中,因此您获取的记录器
LoggerFactory.getLogger(test.class)
是您使用
行配置的那个log4j.logger.com.pack1=DEBUG, stdout
你的log4j.properties文件中的,这就是你的调试" with class"消息出现。