是否可以在 log4j 1.x 中指定不基于包的通配符,而是指定基于记录器名称的通配符?
我想要这样的东西:
<logger name="*Reporter" >
<level value="INFO"/>
<appender-ref ref="ReportFileAppender"/>
</logger>
最佳答案
No (参见“记录器层次结构”部分)。您想要做的是定义一组记录器,这是不可能的,因为每个记录器都有自己的名称。
以下内容应该模仿您想要实现的目标:
<logger name="Reporter" >
<level value="INFO"/>
<appender-ref ref="ReportFileAppender"/>
</logger>
在每个*Reporter 类(class)中:
public class MyReporter {
private static final Logger logger = LogManager.getLogger("Reporter");
public MyReporter() {
logger.debug("foo");
}
}
我的直觉是你真的应该使用包。
关于java - log4j 记录器类名通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39730088/