Ошибка в OtrosLogViewer

Я использую OtrosLogViewer для анализа файла журнала Glassfish. Но, похоже, программное обеспечение не работает. Я думаю, что моя модель неверна.

type=log4j
customLevels=SEVERE=FATAL,WARNING=WARN,CONFIG=INFO,FINE=DEBUG,FINER=TRACE,FINEST=TRACE,INFO=INFO
pattern=[#|TIMESTAMP|LEVEL|PROP(ProductName-Version)|LOGGER|_ThreadID=PROP(ThreadID);_ThreadName=THREAD;PROP(Properties);|MESSAGE|#]
dateFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ
name=GlassFish logger
charset=UTF-8

Вот мой пример журнала сервера (Glassfish 4.0):

[2013-10-13T17:36:03.841+0700] [glassfish 4.0] [WARNING] [endpoint.activation.failure] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.inbound] [tid: _ThreadID=34 _ThreadName=admin-listener(1)] [timeMillis: 1381660563841] [levelValue: 900] [[
RAR8501: Exception during endpoint activation for ra [ jmsra ], activationSpecClass [ com.sun.messaging.jms.ra.ActivationSpec ] : javax.resource.ResourceException: MQRA:EC:Invalid destinationLookup jms/NewMessage configured in ActivationSpec of MDB for no JNDI name found]]

[2013-10-13T17:36:03.841+0700] [glassfish 4.0] [SEVERE] [containers.mdb.create_container_exception] [javax.enterprise.system.container.ejb.mdb.org.glassfish.ejb.mdb] [tid: _ThreadID=34 _ThreadName=admin-listener(1)] [timeMillis: 1381660563841] [levelValue: 1000] [[
MDB00017: [NewMessage]: Exception in creating message-driven bean container: [java.lang.Exception]]]

Как изменить мой шаблон, чтобы он работал? Я довольно запутался в отношении шаблона OtrosLogViewer.

Благодарю.

2 ответа

Решение

Вы можете использовать эти форматы для разбора журнала в вашем вопросе:

type=log4j
pattern=[TIMESTAMP] [PROP(server)] [CLASS] [LEVEL] [PROP(someClass)] [tid: _ThreadID=PROP(ThreadID) _ThreadName=THREAD] [timeMillis: PROP(timeMilis)] [levelValue: PROP(levelValue)] MESSAGE
name=My glassfish format
dateFormat=yyyy-MM-dd'T'HH:mm:sZ

У меня было следующее предположение о вашем журнале:

[2013-10-13T17:36:03.841+0700] - timestamp
[glassfish 4.0] - PROP(server)
[WARNING]  - Level
[endpoint.activation.failure] - Class
[javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.inbound] PROP(someClass)
[tid: _ThreadID=34 _ThreadName=admin-listener(1)] - Thread info
[timeMillis: 1381660563841]  - PROP(timeMillis)
[levelValue: 900] - PROP(levelValue)
[[RAR8501: Exception during endpoint activation for ra [ jmsra ], activationSpecClass [ com.sun.messaging.jms.ra.ActivationSpec ] : javax.resource.ResourceException: MQRA:EC:Invalid destinationLookup jms/NewMessage configured in ActivationSpec of MDB for no JNDI name found]] - Message

OtrosLogViewer также имеет редактор парсера шаблонов Log4j. Вы можете найти его в меню Инструменты.

Журнал сервера Glassfish использует Java Util Logging (JUL). OtrosLogViewer может читать файл журнала, созданный JUL, используя SimpleFormatter или XMLFormatter - и оба не являются моими сильными сторонами. Тем не менее, я могу показать вам, как использовать OtrosLogViewer, в то время как он распознает Log4j PatternLayout.

Учитывая следующий файл log4j.properties

log4j.rootLogger=debug, logfile
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.MaxFileSize=20000KB
log4j.appender.logfile.MaxBackupIndex=3
log4j.appender.logfile.File=logs/MyAppLog.log
log4j.appender.logfile.append=false
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.conversionPattern=%d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %C %M - %m%n

Поместите следующий MyLog4jPattern.pattern в папку olv-folder\plugins\logimporters

type=log4j
pattern=TIMESTAMP LEVEL (FILE:LINE) CLASS METHOD - MESSAGE
dateFormat=MM-dd@HH:mm:ss
name="My Custom pattern: "%d{ISO8601} %-5p (%13F:%L) %C %M - %m%n"
charset=UTF-8

Затем перезапустите OtrosLogViewer. Откройте или сохраните файл журнала, используя кнопку с меткой "Мой пользовательский шаблон:..."

Надеюсь, это поможет!

Другие вопросы по тегам