Java LOG4J日志级别异常

Java LOG4J日志级别异常,java,log4j,Java,Log4j,我试图寻找类似的东西,但还没有找到。我正在尝试配置两个日志文件,一个比较健谈,另一个比较安静。在我的主日志文件中,我需要WARN和up,但已将几个包配置为DEBUG或INFO级别。我还有第二个文件,我只需要错误消息,调试级别的一个类除外。配置已附加,但我从未在静默日志中看到CLazz调试。想法 <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="MAINLOGF

我试图寻找类似的东西,但还没有找到。我正在尝试配置两个日志文件,一个比较健谈,另一个比较安静。在我的主日志文件中,我需要WARN和up,但已将几个包配置为DEBUG或INFO级别。我还有第二个文件,我只需要错误消息,调试级别的一个类除外。配置已附加,但我从未在静默日志中看到CLazz调试。想法

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="MAINLOGFILE" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/var/log/jboss/main.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="MaxBackupIndex" value="7"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{DATE} %-5p %-15c{1} [%x]: %m%n"/>
    </layout>
</appender>
<appender name="QUIETFILE" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/var/log/jboss/quiet.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="5000KB"/>
    <param name="MaxBackupIndex" value="7"/>
    <param name="Threshold" value="ERROR"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{DATE} %-5p %-15c{1} [%x]: %m%n"/>
    </layout>
</appender>

<category name="com.foo.bar">
    <priority value="info"/>
    <appender-ref ref="MAINLOGFILE"/>
</category>

<!-- Several other INFO and DEBUG package here -->

<category name="com.foo.bar.biz.Clazz">
    <priority value="debug"/>
    <appender-ref ref="QUIETFILE"/>
</category>

<root>
    <param name="Level" value="warn"/>
    <appender-ref ref="MAINLOGFILE"/>
    <appender-ref ref="QUIETFILE"/>
</root>

尝试将其更改为:

<category name="com.foo.bar.biz.Clazz" additivity="false">

似乎您采用了与此处所述相同的解决方案(没有“可加性”):

10.3.5。重定向类别输出


我想你的问题已经得到了回答。我理解阈值和优先级设置的目的,但是,我希望静默日志包含错误和更高的错误,除了一个记录器,我希望在调试时使用它。在错误时设置阈值将始终排除调试优先级,但在调试时设置阈值太过嘈杂。试图找到覆盖某个类的阈值的设置。感谢您提供的信息和链接,我终于理解了以前没有理解的可加性标志。但是,在我的测试中,这不允许在quiet.log文件中记录任何Clazz日志。当我将QUIETFILE appender上的阈值更改为不同的阈值时,我确实只在quiet.log中获得了预期的日志记录,但是,我从新的日志记录级别获得了额外的日志记录。不知道为什么它没有覆盖该appender中的Clazz级别。还有其他想法吗?找到了正确的组合。删除了appender配置上的阈值,为我希望记录的错误的包添加了两个新的记录器,并且只引用QUIETFILE appender,并从根配置中删除了QUIETFILE。似乎给了我想要的。再次感谢你让我走上正轨!