Как настроить log4php для регистрации разных уровней журнала в разные файлы для одного и того же регистратора
Вопрос
У меня есть нормальный журнал уровня отладки для приложения. Что мне нужно, так это дополнительно регистрировать все события уровня ошибок, чтобы отделить журнал ошибок. Я использую конфигурацию, как это:
<?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>
Только эта конфигурация журналов отладка только. Если я сначала поставлю регистратор уровня ошибок, то он будет входить в систему только для общего приложения, но отладовый регистратор не будет работать. Я хотел бы, чтобы они оба работали.
Решение
Вы можете использовать второй приложение, как SO:
<?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>
Не связан с StackOverflow