gpt4 book ai didi

java - log4j xml配置问题

转载 作者:行者123 更新时间:2023-11-29 06:44:29 24 4
gpt4 key购买 nike

我没什么问题,下面列出了我的 log4j.xml 配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<logger name="com.alsodeep">
<level value="info" />
<appender-ref ref="console" />
</logger>
<logger name="org.springframework">
<level value="error" />
<appender-ref ref="console" />
</logger>
<root>
<priority value="error" />
<appender-ref ref="console" />
</root>

</log4j:configuration>

例如,当我在 com.alsodeep 包中调用 log.info("some info") 时,它打印了两次

INFO  AspectExample - Call it before method
INFO AspectExample - Call it before method
Hello
INFO AspectExample - Call it after method
INFO AspectExample - Call it after method
List content [[23, 243, 234, 23432]]
INFO App - final
INFO App - final

我对此感到困惑,我的 log4j 设置有什么问题。

PS 当我从根元素中删除 appender 时,一切正常,我的日志信息只出现一次。

最佳答案

删除:

<appender-ref ref="console" />

来自特定的记录器并且只在根记录器中留下一个:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>
<logger name="com.alsodeep">
<level value="info" />
</logger>
<logger name="org.springframework">
<level value="error" />
</logger>
<root>
<priority value="error" />
<appender-ref ref="console" />
</root>

</log4j:configuration>

您的配置是有效的,但是当您尝试在 com.alsodeep 上记录某些内容时,它首先获取附加程序到直接关联到此记录器的附加程序,然后向上传播。 com 没有关联的 appender,但是 root(所有记录器的父级)有。巧合的是,它是同一个控制台附加程序,所以它被附加了两次。

关于java - log4j xml配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7286148/

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