gpt4 book ai didi

java - 我的 log4j2 日志文件每行总是有双输出

转载 作者:行者123 更新时间:2023-11-30 03:05:22 25 4
gpt4 key购买 nike

我看过很多关于使用 log4j2 在日志上重复条目的帖子。解决方案似乎是添加 additivity 属性并将其设置为 false,但它似乎对我不起作用。

这是我的 log4j2.xml

 <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>

我在控制台和文件日志中都有重复的日志。我尝试过在所有地方添加 additivity="false",甚至删除了 ROOT 条目,但无法正确执行。

有人可以帮助我吗?

也许我对类的编码是错误的?

我这样做是为了获取记录器对象...

static final org.apache.logging.log4j.Logger logger = LogManager.getLogger(Laguna.class.getName());

像这样使用它......

logger.info("Arquivo de configuração carregado");

最佳答案

这可能是因为您缺少根记录器,如果您不需要任何其他日志,请尝试添加一个级别为“OFF”的记录器。

编辑:不确定这是否是您想要的,它应该关闭除指定记录器之外的所有日志记录:

<Logger name="br.com.flutuante.laguna" level="trace"/>
<Root level="off">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>

或者只是更改 Root 中的级别以设置默认日志记录级别,同时将指定的记录器设置为跟踪

关于java - 我的 log4j2 日志文件每行总是有双输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com