0

我正在尝试记录到两个不同的日志文件,一个要监视的“alert.log”,一个用于故障排除的“debug.log”。在下面的配置中,“alert.log”随着错误消息的增长而增长,“debug.log”被创建为一个永不增长的零长度文件。

我尝试在“root”和“logger”之间交换内容,并且记录的消息按预期写入。似乎“root”中的任何内容都被写入,而 logger 中的任何内容都没有。我可能做错了什么?

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://logging.apache.org/log4php/">

<appender name="AlertableFileAppender" class="LoggerAppenderRollingFile">
    <param name="file" value="/var/log/example/alert.log"/>
    <param name="append" value="true"/>
    <param name="maxBackupIndex" value="0"/>
    <param name="maxFileSize" value="10000KB"/>
    <layout class="LoggerLayoutPattern">
        <param name="conversionPattern" value="%d{ISO8601} %p src=&quot;%M:%L&quot; %m%n"/>
    </layout>
</appender>
<appender name="DebugFileAppender" class="LoggerAppenderRollingFile">
    <param name="file" value="/var/log/example/debug.log"/>
    <param name="append" value="true"/>
    <param name="maxBackupIndex" value="0"/>
    <param name="maxFileSize" value="10000KB"/>
    <layout class="LoggerLayoutPattern">
        <param name="conversionPattern" value="%d{ISO8601} %p src=&quot;%M:%L&quot; %m%n"/>
    </layout>
</appender>
<appender name="ConsoleAppender" class="LoggerAppenderConsole">
    <layout class="LoggerLayoutPattern">
        <param name="conversionPattern" value="%d{ISO8601} %p src=&quot;%M:%L&quot; %m%n"/>
    </layout>
</appender>

<logger name="SecondLogger">
    <level value="DEBUG"/>
    <appender_ref ref="DebugFileAppender"/>
    <appender_ref ref="ConsoleAppender"/>
</logger>

<root>
    <level value="WARN"/>
    <appender_ref ref="AlertableFileAppender"/>
</root>


</configuration>
4

1 回答 1

0

重写配置以threshold="warn"在 AlertableFileAppender 上使用并将两个附加程序引用放在根目录中对我有用。我删除了记录器并将根级别设置为“全部”。

于 2013-09-16T20:32:07.873 回答