gpt4 book ai didi

java - 如何仅在 log4j 中记录警告

转载 作者:行者123 更新时间:2023-11-30 08:20:26 24 4
gpt4 key购买 nike

在 Struts 2 应用程序中,我们使用 log4j 进行日志记录。我只想记录警告但是当我尝试在我的 log4j.properties 中使用时

log4j.rootLogger=warn, stdout

它也打印错误和致命日志。我只想警告日志。我在一些教程中阅读了日志级别。所以我知道为什么会打印错误和 fatal error ,因为它们的优先级低于警告。如何仅在我的控制台中打印警告日志?

我的 Java 代码:

import org.apache.log4j.Logger;

public class LogClass {

private static final org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);

public static void main(String[] args) {
log.trace("Trace");
log.debug("Debug");
log.info("Info");
log.warn("Warn");
log.error("Error");
log.fatal("Fatal");
}
}

任何帮助将不胜感激!

最佳答案

使用 org.apache.log4j.varia.LevelRangeFilter筛选。您的 XML 配置文件可以是:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">

<appender name="warn-out" class="org.apache.log4j.FileAppender">
<param name="File" value="warn.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="warn" />
<param name="LevelMin" value="warn" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>

<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="warn" />
<param name="LevelMin" value="warn" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>

<root>
<level value="warn" />
<appender-ref ref="warn-out" />
<appender-ref ref="console" />
</root>
</log4j:configuration>

有关更多选项,请转至 here .

看起来属性文件配置不支持过滤器。以下摘自log4j官方wiki:

Filter is not supported by PropertiesConfigurator.

编辑:也向 XML 添加了控制台附加程序并关闭了 log4j 的调试。现在它应该同时转到文件和控制台。

关于java - 如何仅在 log4j 中记录警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26052623/

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