Log4php尊重root而不是logger

时间:2013-09-16 20:00:48

标签: log4php

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

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

<?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>

1 个答案:

答案 0 :(得分:0)

重写配置以在AlertableFileAppender上使用threshold="warn"并将两个appender引用放在root中为我工作。我删除了记录器并将根级别设置为“全部”。