jboss, log4j, UnhandledExceptions
От: N_i_t_r_o  
Дата: 12.08.11 11:50
Оценка:
Всем привет!
Помогите организовать логирование UnhandledExceptions для приложений на jboss в файл.
Можно ли настроить jboss-log4j.xml, чтобы он писал их не только в System.out?
jboss log4j unhandledexceptions
Re: jboss, log4j, UnhandledExceptions
От: Blazkowicz Россия  
Дата: 12.08.11 11:54
Оценка:
Здравствуйте, N_i_t_r_o, Вы писали:

N__>Помогите организовать логирование UnhandledExceptions для приложений на jboss в файл.

N__>Можно ли настроить jboss-log4j.xml, чтобы он писал их не только в System.out?
А как вы умудряетесь иметь не пойманые исключения? Сами потоки создаёте? Всё остальное вполне успешно ловит инфраструктура JBoss. Покажите свой конфиг.
Re[2]: jboss, log4j, UnhandledExceptions
От: N_i_t_r_o  
Дата: 12.08.11 12:45
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>А как вы умудряетесь иметь не пойманые исключения? Сами потоки создаёте? Всё остальное вполне успешно ловит инфраструктура JBoss. Покажите свой конфиг.


Прошу прощения. Неправильно задал вопрос.
Попытаюсь еще раз.

В приложении (App) я не логирую uncheked-исключения, они попадают в jboss и пишутся только в System.out и в файл (аппендеры CONSOLE и FILE):
<log4j:configuration>
...
   <root>
      <appender-ref ref="CONSOLE"/>
      <appender-ref ref="FILE"/>
   </root>
</log4j:configuration>



В App есть свой log4j.xml:

<log4j:configuration>
...
  <root>
    <appender-ref ref="APP-FILE"/>
  </root>
</log4j:configuration>


Проблема в том, что все нелогируемые исключения в App пишутся в CONSOLE и FILE. А мне надо, чтобы они писались в APP-FILE.
Если добавить APP-FILE в root log4j в jboss. То все сообщения от других приложений будут писать в APP-FILE, что конечно же не хотелось бы

Вопрос.
Как организоватьлогирование uncheked-исключений для App в APP-FILE и приэтом выполнялись условия:
1. В FILE они попадать не должны (как и все связанное с App)
2. Обрабатывать uncheked-исключения нельзя
3. Сообщения от других приложений не должны попадать в APP-FILE

Буду признателен за советы.
Re[3]: jboss, log4j, UnhandledExceptions
От: Blazkowicz Россия  
Дата: 12.08.11 13:52
Оценка:
Здравствуйте, N_i_t_r_o, Вы писали:

N__>Буду признателен за советы.

А добавить свой глобальный фильтр для отлова таких исключений не вариант?
Re[4]: jboss, log4j, UnhandledExceptions
От: N_i_t_r_o  
Дата: 15.08.11 12:10
Оценка: 8 (1)
Здравствуйте, Blazkowicz, Вы писали:

B>А добавить свой глобальный фильтр для отлова таких исключений не вариант?


Да действительно, я тоже думал в этом направлении. Проблема решилась. Созданием глобального фильтра в jboss-log4j.xml (из приложения log4j.xml я удалил):

   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
     <param name="File" value="${jboss.server.log.dir}/server.log"/>
     <param name="Append" value="false"/>
     <param name="Threshold" value="DEBUG"/>

     <!-- Rollover at midnight each day -->
     <param name="DatePattern" value="'.'yyyy-MM-dd"/>

     <layout class="org.apache.log4j.PatternLayout">
       <!-- The default pattern: Date Priority [Category] Message\n -->
       <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
     </layout>
     <filter class="org.jboss.logging.filter.TCLFilter">
       <param name="AcceptOnMatch" value="false"/>
       <param name="DeployURL" value="fcat.war"/>
     </filter>
   </appender>
  <appender name="APP-FILE" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="File" value="<path>/app.log"/>
    ...
    <layout class="org.apache.log4j.PatternLayout">
      ...
    </layout>
    <filter class="org.jboss.logging.filter.TCLFilter">
      <param name="AcceptOnMatch" value="true"/>
      <param name="DeployURL" value="fcat.war"/>
    </filter>
  </appender>
  ...
  <root>
    <appender-ref ref="FILE"/>
    <appender-ref ref="APP-FILE"/>
  </root>


Blazkowicz, спасибо за ответы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.