powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / log4j и JBoss
5 сообщений из 5, страница 1 из 1
log4j и JBoss
    #34103916
Vinny Puhh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу помощи: помогите разобраться, как прикрутить log4j к J2ee приложению под
JBoss. Пара советов, с чего начать.... может пример простенький.
Заранее всем спасибо.
...
Рейтинг: 0 / 0
log4j и JBoss
    #34104110
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vinny PuhhПрошу помощи: помогите разобраться, как прикрутить log4j к J2ee приложению под
JBoss. Пара советов, с чего начать.... может пример простенький.
Заранее всем спасибо.

1. Прикрутить библиотеки Log4j к своему компоненту.
2. Объявляем
Код: plaintext
 private   static   final  Logger LOG = Logger.getLogger(getClass());
3. Используем методы объекта LOG для вывода информационных сообщений, предупреждений и сообщений об ошибках
...
Рейтинг: 0 / 0
log4j и JBoss
    #34104120
Vinny Puhh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 13 : 17 : 33 , 875  ERROR [STDERR] log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable.
 13 : 17 : 33 , 875  ERROR [STDERR] log4j:ERROR The  class  "org.apache.log4j.spi.ErrorHandler" was loaded by 
 13 : 17 : 33 , 875  ERROR [STDERR] log4j:ERROR [WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@7a6e84
] whereas object of type 
 13 : 17 : 33 , 875  ERROR [STDERR] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHandler" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@186db54].
 13 : 17 : 33 , 937  ERROR [STDERR] log4j:ERROR Could not create an Appender. Reported error follows.

Вот такая лажа вываливается, когда я подключаю библиотеку log4j к своему j2ee проекту(среда разработки - IDEA).
...
Рейтинг: 0 / 0
log4j и JBoss
    #34104241
marx_freedom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я когда с логгингом разбирался - смотрел wiki на jboss.org там много примеров. после чего родилась вот такая заметка, думаю поможет.
---
Задача достаточно проста – на нашем сервере приложений выполняется несколько J2EE приложений. Необходимо вести логи для каждого приложения по отдельности. Кроме того, приложения используют Hibernate. Т.к. Hibernate генерирует очень много debug-сообщений, то было решено выделить их тоже в отдельные файлы для каждого приложения, чтобы было легче просматривать и анализировать логи (конечно же это мое субъективное мнение).

JBoss включает в себя библиотеку Apache Log4J для ведения журнальных файлов. Кроме того, в JBoss существует множество путей найстройки Log4J. Можно настраивать через изменение главного файла конфигурации, можно загружать дополнительные файлы конфигурации в момент запуска J2EE приложения как из архива приложения, так и с файловой системы, с помощью MBean или с помощью инициализирующего сервлета. Для моего случая самым быстрым способом является настройка главного конфигурационного файла, хотя бы потому что в данном экземпляре JBoss выполняются только созданные нами приложения и настройка сервера производится только для них, а не для сторонних приложений. Использование MBean или сервлета позволяет изменять настройки Log4J динамически, этого на данном этапе не требуется. Изменение файла конфигурации log4j.xml

Файл конфигурации Log4J хранится на файловой системе, путь к файлу ${jboss.server.home.dir}/conf/log4j.xml

Добавляем два appender'a для каждого приложения – один будет логгировать сообщения SessionBean'ов а другой – сообщения Hibernate. Задаем разные имена файлов. И применяем к каждому appender'у фильтр TCLFilter, позволяющий логгировать сообщения только для приложений, адрес развертывания которых нам изместен. В данном случае архив приложения называется nbilling.ear. Конфигурация выглядит следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 <appender name="NBILLING"  class ="org.apache.log4j.FileAppender">
    <errorHandler  class ="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    <param name="Append" value="true"/> 
    <param name="File" value="${jboss.server.home.dir}/log/nbilling.log"/>
    <layout  class ="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
    </layout>
    <filter  class ="org.jboss.logging.filter.TCLFilter">
      <param name="AcceptOnMatch" value="true"/>
      <param name="DeployURL" value="nbilling.ear"/>
    </filter>
  </appender>

  <appender name="NBILLINGH"  class ="org.apache.log4j.FileAppender">
    <errorHandler  class ="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    <param name="Append" value="true"/>
    <param name="File" value="${jboss.server.home.dir}/log/nbilling-hibernate.log"/>
    <layout  class ="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
    </layout>
    <filter  class ="org.jboss.logging.filter.TCLFilter">
      <param name="AcceptOnMatch" value="true"/>
      <param name="DeployURL" value="nbilling.ear"/>
    </filter>
  </appender>

Далее приводятся строки, позволяющие разделить сообщения от различных классов. Внимание! Согласно документации JBoss, если классы из пакетов, входящих в пакет rcbd.nbilling будут использоваться в различных приложениях, то скорее всего произойдет некоторое смешение сообщений. На данном этапе я не столкнулся с такой ситуацией.

Код: plaintext
1.
2.
3.
4.
5.
6.
  <category name="rcbd.nbilling">
     <appender-ref ref="NBILLING" />
  </category>

  <category name="org.hibernate">
     <appender-ref ref="NBILLINGH" />
  </category>


Пример кода SessionBean с использованием логгера

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
...
 import  org.apache.commons.logging.Log;
 import  org.apache.commons.logging.LogFactory;
...

 public   abstract   class  PaymentsFacadeBean
     implements  SessionBean
{
    ...
     private  Log log = LogFactory.getLog(PaymentsFacadeBean. class );

    /** 
     * @ejb.interface-method
     * @ejb.facade-method
     *      invalidate="true"
     */
     public   void  makePayment(Integer _clientId,  Double  _amount,
            Date _paymentDate, PaymentType _paymentType, String _comments, String _inum)
         throws  Exception
    {
        log.info("method makePayment begins...");
        ...
    }
    ...
}


--
Солнце встанет непременно!
jabber id: marx [.at.] jabber [.dot.] ru
...
Рейтинг: 0 / 0
log4j и JBoss
    #34104370
Vinny Puhh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
буду разбираться, спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / log4j и JBoss
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]