gpt4 book ai didi

java - 为什么 log4j 会记录到控制台?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:06 25 4
gpt4 key购买 nike

这是一个独立的 java 应用程序。

我正在使用下面的配置文件并遇到两个问题。

1) 我正在将日志发送到标准输出,但我不知道为什么。

2) 我在错误日志中收到了所有日志消息,即使我尝试仅将错误和更高级别的错误定向到错误日志。

我在使用 BasicConfigurator 时没有指定 log4j.xml 文件的显式路径。 xml 文件与我的类(class)位于同一个 jar 中。除了这些问题之外,它还在创建并写入适当的日志,因此正在应用配置。

3) 此外,我没有运气在 jar 之外拥有 log4j.xml 文件,所以我可以在运行时更改它。我该怎么做?

<!--appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p [%F:%L] - %m%n"/>
</layout>
</appender-->

<!-- working dir is $CATALINA_TMPDIR. send logs to log dir. -->
<appender name="ROLL" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/var/log/company/application.log"/>
<param name="MaxFileSize" value="5MB"/>
<param name="MaxBackupIndex" value="9"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
</layout>
</appender>

<appender name="ERRORLOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/var/log/rocketvox/company/error.log"/>
<param name="MaxFileSize" value="5MB"/>
<param name="MaxBackupIndex" value="9"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
</layout>
</appender>

<category name="com.company">
<priority value="ALL"/>
<appender-ref ref="ROLL"/>
</category>

<category name="com.mattx">
<priority value="ALL"/>
<appender-ref ref="ROLL"/>
</category>

<root>
<priority value="error"/>
<appender-ref ref="ERRORLOG"/>
</root>

最佳答案

-Dlog4j.debug 添加到应用程序的 JVM args 以准确查看 log4j 在做什么以及它使用哪个配置文件。

您的问题是使用 BasicConfigurer - 要使用名为 log4j.xml 的文件进行配置,您不需要在应用程序代码中使用任何显式 log4j 配置器,因为默认的 log4j 初始化逻辑将启动从类路径中选择 log4j.xml(或 log4j.properties,如果没有找到 xml)。

参见 Default Initialization Procedure来自 log4j 手册。

关于java - 为什么 log4j 会记录到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6681293/

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