Java 我的log4j2日志文件始终具有每行的双重输出
我已经看到很多关于使用log4j2在日志上复制条目的帖子。解决方案似乎是添加additivity属性并将其设置为false,但似乎对我不起作用 这是我的log4j2.xmlJava 我的log4j2日志文件始终具有每行的双重输出,java,logging,duplicates,log4j2,Java,Logging,Duplicates,Log4j2,我已经看到很多关于使用log4j2在日志上复制条目的帖子。解决方案似乎是添加additivity属性并将其设置为false,但似乎对我不起作用 这是我的log4j2.xml <Configuration status="DEBUG"> <Appenders> <Console name="Console" target="SYSTEM_OUT" additivity="false"> <PatternLayout pattern
<Configuration status="DEBUG">
<Appenders>
<Console name="Console" target="SYSTEM_OUT" additivity="false">
<PatternLayout pattern="%d{dd-MM-yyyy HH:mm:ss} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="File" fileName="C:\Laguna\Logs\Laguna.log">
<PatternLayout pattern="%d{dd-MM-yyy HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="off">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>
<Logger name="br.com.flutuante.laguna" level="trace" additivity="false">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Logger>
</Loggers>
</Configuration>
像这样使用它
logger.info("Arquivo de configuração carregado");
这可能是因为缺少根日志记录器,如果不需要任何其他日志,请尝试添加一个带有level=“OFF”的根日志记录器 编辑:不确定这是否是您想要的,它应该关闭除指定记录器之外的所有日志记录:
<Logger name="br.com.flutuante.laguna" level="trace"/>
<Root level="off">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>
或者只需更改根目录中的级别以设置默认日志记录级别,同时将指定的记录器设置为跟踪我有根目录级别,但尝试将其删除以查看是否可以按我所需的方式工作。。。我又把它放在例子上了。我以前没有尝试过level='off',但即使这样,我仍然会得到重复的日志。感谢您的帮助。请澄清,如果您的记录器使用与Root相同的附加器,则无需再次指定它们,而是删除additivity=“false”并将其保留为空:
。不过,additivity=“false”也应该起作用……现在我只得到日志副本的第一行。。。现在对我来说已经足够了。谢谢你,伙计。
<Logger name="br.com.flutuante.laguna" level="trace"/>
<Root level="off">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>