Один из способов подключения Log4j к J2EE приложению на cервере JBoss 4.2 Страница 3

Итак. Для чего же все это делалось. Давайте запустим тестовый проект и посмотрим, что происходит. Возьмите файл log4j-ear.ear, скопируйте его в папку deploy на сервере приложений JBoss.(C:\jboss\server\default\deploy) Еще раз повторю, что на данный момент стабильной версией является 4.2. С выходом новых версий серврера ситуация может измениться и не придется делать таких танев с бубном.

Файл скопирован, сервер запущен. Откройте браузер и наберите адрес сервлета: http://localhost:8080/log4j-web-root/JBossLog4jTestServlet

Отлично. Теперь загляните в папку C:\jboss\server\default\log. Вы обнаружите там 3 новых файла — JBossLog4jTest.log, JBossLog4jTestMDB.log и JBossLog4jTestServlet.log Первые два будут как и положено пустыми, но последний — лог файл сервлета, будет содержать следующие строки:

11:19:19,046 INFO  [JBossLog4jTestServlet] JBossLog4jTestServlet inited...
11:19:19,046 INFO  [JBossLog4jTestServlet] GEOServlet doGet started...
11:19:19,046 INFO  [JBossLog4jTestServlet] GEOServlet doGet finished...

Теперь заполните и отправьте форму.

Все. В браузере Вы ничего не увидите. В окне JBoss можно будет увидеть примерно такие строчки:

11:36:47,140 INFO  [JBossLog4jTestMDB] Message received: org.jboss.mq.SpyMessage
 {
Header {
   jmsDestination  : QUEUE.JBossLog4jTestMDBQueue
   jmsDeliveryMode : 2
   jmsExpiration   : 0
   jmsPriority     : 4
   jmsMessageID    : ID:3-11863030045931
   jmsTimeStamp    : 1186303004593
   jmsCorrelationID: null
   jmsReplyTo      : null
   jmsType         : null
   jmsRedelivered  : false
   jmsProperties   : {traced_value=777, my_message=Hello from JBossLog4jTest}
   jmsPropReadWrite: false
   msgReadOnly     : true
   producerClientId: ID:3
}
}

Наблюдайте лог файлы.

В JBossLog4jTestServlet.log добавились две строчки:

 11:36:42,234 INFO  [JBossLog4jTestServlet] JBossLog4jTestServlet doPost started...
 11:36:42,250 INFO  [JBossLog4jTestServlet] Traced value: 777

JBossLog4jTest.log сообщает об удачном запуске сообщений MDB:

 11:36:42,406 INFO  [JBossLog4jTest] sendMessage start..
 11:36:42,406 INFO  [JBossLog4jTest] Traced Value :777
 11:36:43,359 DEBUG [JBossLog4jTest] ConnectionFactory ready.
 11:36:43,375 DEBUG [JBossLog4jTest] Queue ready.
 11:36:44,546 DEBUG [JBossLog4jTest] MessageProducer ready.
 11:36:44,687 INFO  [JBossLog4jTest] Message successfully sent.

JBossLog4jTestMDB пишет о том что все получил и выводит содержание сообщения. Оно совпадает с вводом терминала сервера приложений JBoss.

 11:36:46,890 INFO  [JBossLog4jTestMDB] JBossLog4jTestMDB created: 23322190
 11:36:47,140 DEBUG [JBossLog4jTestMDB] ->Start, thread ID: 69
 11:36:47,140 INFO  [JBossLog4jTestMDB] Message received: org.jboss.mq.SpyMessage {
  Header { 
   jmsDestination  : QUEUE.JBossLog4jTestMDBQueue
   jmsDeliveryMode : 2
   jmsExpiration   : 0
   jmsPriority     : 4
   jmsMessageID    : ID:3-11863030045931
   jmsTimeStamp    : 1186303004593
   jmsCorrelationID: null
   jmsReplyTo      : null
   jmsType         : null
   jmsRedelivered  : false
   jmsProperties   : {traced_value=777, my_message=Hello from JBossLog4jTest}
   jmsPropReadWrite: false
   msgReadOnly     : true
   producerClientId: ID:3
  }
 }

Таким образом мы получили сообщения от всех файлов.

Это один из способов организации логирования на сервере приложений JBoss4.2.
Enjoy!

Файлы, используемые в статье.

Страница:

Александр Смелков
Санкт-Петербург Весна 2007