禁用级别日志log4j

Disable level log log4j

我将 errorAppender 和 infoAppender 分成 2 个日志文件。

这是可行的,但我只需要登录信息文件信息。

示例: 当我调用 logger.error("TEST ERROR") 时,我不希望它显示在信息文件中。

有什么方法可以禁用级别日志吗?

log4j.xml

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

    <appender name="errorAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="/log/error.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p] %d %c %M - %m%n" />
        </layout>
        <param name="Threshold" value="ERROR" />
    </appender>
    <appender name="infoAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="/log/success.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%p] %d %c %M - %m%n" />
        </layout>
        <param name="Threshold" value="INFO" />
    </appender>

    <root>
        <appender-ref ref="errorAppender" />
        <appender-ref ref="infoAppender" />
    </root>
</log4j:configuration>

感谢@Fildor,它现在可以使用 LevelRangeFilter

<appender name="infoAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="/log/success.log" />
    <param name="DatePattern" value="'.'yyyy-MM-dd" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="[%p] %d %c %M - %m%n" />
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
        <param name="LevelMin" value="INFO" />
        <param name="LevelMax" value="INFO" />
        <param name="AcceptOnMatch" value="true" />
    </filter>
    <param name="Threshold" value="INFO" />
</appender>