Как настроить log4php для записи разных уровней журнала в разные файлы для одного и того же регистратора - PullRequest
2 голосов
/ 28 апреля 2011

У меня есть нормальный журнал уровня DEBUG для приложения. Что мне нужно, это дополнительно регистрировать все события уровня ОШИБКИ в отдельный журнал ошибок. Я использую конфигурацию как это:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<log4php:configuration xmlns:log4php="http://www.vxr.it/log4php/" 
threshold="all" debug="false"> 
    <appender name="memcache_debug" class="LoggerAppenderFile"> 
                <param name="file" value="${LOGS}memcache_debug.log" /> 
        <layout class="LoggerPatternLayout"> 
            <param name="conversionPattern" value="%d [%t] %-5p %c %m 
%n" /> 
        </layout> 
    </appender> 
    <root> 
        <level value="debug" /> 
        <appender_ref ref="memcache_debug" /> 
    </root> 
</log4php:configuration> 

Эта журналы конфигурации отлаживаются только. Если я сначала установлю регистратор уровня ошибок, то он будет регистрироваться только для общего appender, но отладочный журнал не будет работать. Я бы хотел, чтобы они оба работали.

1 Ответ

3 голосов
/ 14 мая 2011

Вы можете использовать второй аппендер, например:

<?xml version="1.0" encoding="ISO-8859-1"?>
<log4php:configuration xmlns:log4php="http://www.vxr.it/log4php/" threshold="all" debug="false">
  <appender name="memcache_debug" class="LoggerAppenderFile">
    <param name="file" value="${LOGS}memcache_debug.log" />
    <layout class="LoggerPatternLayout">
      <param name="conversionPattern" value="%d [%t] %-5p %c %m %n" />
    </layout>
  </appender>
  <appender name="memcache_error" class="LoggerAppenderFile" threshold="error" >
    <param name="file" value="${LOGS}memcache_error.log" />
    <layout class="LoggerPatternLayout">
      <param name="conversionPattern" value="%d [%t] %-5p %c %m %n" />
    </layout>
  </appender>
  <root>
    <level value="debug" />
    <appender_ref ref="memcache_debug" />
    <appender_ref ref="memcache_error" />
  </root>
</log4php:configuration>
...