我们可以为一些自定义创建的 Logger 启用日志打印吗?
我有两个记录器:
根记录器
指标记录器(打印到文件)
<Configuration status="WARN">
<Appenders>
<File name="file" fileName="app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<logger name="metrics" level="info" additivity="true">
<AppenderRef ref="file"/>
</logger>
<root level="info">
<AppenderRef ref="STDOUT"/>
</root>
</Loggers>
</Configuration>
我想在控制台中为 File logger 禁用打印消息
最佳答案
理解的关键就在这里 http://logging.apache.org/log4j/2.x/manual/configuration.html#Additivity
根记录器是记录器“指标”的父级。然后将“metrics”的日志事件传递给根记录器的附加程序(“STDOUT”)。这称为可加性。可以通过将记录器“指标”上的可加性属性设置为 false 来禁用它。
<logger name="metrics" level="info" additivity="false">
<AppenderRef ref="file"/>
</logger>
关于java - 在控制台中禁用自定义记录器打印 (Log4j2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24011143/