2015-11-27 2 views
1

У меня есть файл журнал пользовательского, который настроен на log4j следующим образом:Отправка printStackTrace() в файл с помощью log4j без отлова исключения

<appender name="ARQUIVO" class="org.apache.log4j.DailyRollingFileAppender"> 
    <param name="File" value="${catalina.base}/logs/docnix.log" /> 
    <param name="DatePattern" value="'.'yyyy-MM-dd" /> 
    <param name="ImmediateFlush" value="true" /> 
    <param name="Append" value="true" /> 
    <param name="Encodig" value="UTF-8" /> 
    <param name="Threshold" value="DEBUG" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" 
       value="[docnix] %d{dd/MM/yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n" /> 
    </layout> 

(больше журнала конфиги)

Однако, поскольку его большое приложение не всегда умеет поймать код, который может генерировать исключение nullPointerException, и когда это произойдет, stackTrace переходит в файл журнала tomcat tomcat7-stderr (например), есть ли способ перенаправить исключения ALL на мой docnix.log? Не делая много блоков try/catch, чтобы использовать log4j logger?

Я уже перепутал с swallowOutPut, чтобы попытаться перенаправить вывод stderr и stdout в свой файл, но пока не повезло.

Заранее спасибо.

ответ

Смежные вопросы