Как просмотреть файлы журнала Java в Eclipse - PullRequest
7 голосов
/ 19 июня 2009

Я выполняю некоторые тесты JUnit в Eclipse, и мой код генерирует файл журнала XML с использованием API-интерфейсов ведения журналов java. (Java.util.logging). Есть ли простой способ просмотреть этот вывод журнала XML в Eclipse, кроме чтения необработанного XML? В частности, я хочу иметь возможность легко видеть, из каких потоков поступили разные сообщения журнала.

Ответы [ 7 ]

4 голосов
/ 19 июня 2009

Я использую SLF4J API ведения журнала в сочетании с Logback реализацией ведения журнала. SLF4J можно настроить для отображения сообщений журнала в API java.util.logging, log4j, jakarta commons logging и SLF4j в общую промежуточную форму. С другой стороны, сообщения могут быть сгенерированы с помощью java.util.logging, log4j или Logback. Это гибкий подход, который хорошо работает, особенно если у вас есть компоненты, которые используют разные API журналирования.

Одна приятная вещь в Logback - вы можете настроить его на отправку копии сообщений журнала в Eclipse-плагин . Плагин и позволяет просматривать и фильтровать файл журнала различными способами. Сообщения содержат поток, сгенерировавший их, поэтому это звучит как что-то, что вы должны проверить.

2 голосов
/ 06 июня 2012

Если вы хотите использовать программу просмотра журнала, которая не основана на Eclipse, я рекомендую вам OtrosLogViewer Я могу импортировать java.util.logging в формате XML и SimpleFormat.

Отказ от ответственности : я являюсь автором OtrosLogViewer

2 голосов
/ 22 августа 2009

Я думаю, что вы искали то же самое, что я искал.Я нашел UtilLogger4E, но я запустил свой собственный проект (EDevTools LogViewer), потому что он имеет некоторые недостающие функции и не является открытым исходным кодом.

Он имеет возможность читать журналы Java Util Logging XML из файла или настраиваемого сокетаотображать их в таблице по уровням в цвете и отображать более одного журнала одновременно (через несколько экземпляров представления).

В журнале Java Util Logging есть встроенная функция отправки журналов в сокет (SocketHandler).), он должен быть установлен только файлом конфигурации.

Вы можете взглянуть на LogViewer по адресу: http://sourceforge.net/projects/edevtools/

1 голос
/ 19 июня 2009

В зависимости от того, что именно вы пытаетесь сделать, вам может понадобиться хорошая настройка ведения журнала для вашей подсистемы регистрации?

Фреймворк, который я недавно использовал, использует для входа в систему slf4j, предоставив следующую конфигурацию log4j, чтобы узнать, какие потоки выводят что:

log4j.rootLogger = trace, default
log4j.appender.default = org.apache.log4j.ConsoleAppender
log4j.appender.default.layout = org.apache.log4j.PatternLayout
log4j.appender.default.layout.ConversionPattern = %-4r [%t] %-5p %c %x - %m%n

В моем случае я получаю вывод, аналогичный приведенному ниже, на вкладке Консоль в Eclipse, когда я запускаю свои тесты Junit.

0    [pool-1-thread-1] INFO  com.example.BaseTest  - Server listening on port 9090
35   [NioProcessor-6] INFO  org.apache.mina.filter.logging.LoggingFilter  - CREATED
35   [NioProcessor-1] INFO  org.apache.mina.filter.logging.LoggingFilter  - CREATED
1 голос
/ 19 июня 2009

С другой стороны, отличным инструментом для просмотра файлов журналов в режиме реального времени является baretail (по сути, это хвост в Windows), но его можно настроить для выделения определенных цветных узоров, которые действительно могут помочь. Вы можете найти бесплатную версию здесь .

1 голос
/ 19 июня 2009

Я всегда надеялся найти что-то вроде Apache Chainsaw для комбинации java.util.logging / Eclipse, то есть для просмотра журнала в Eclipse, который прослушивает порт и java.util.logging.Handler. реализация написания непосредственно к этому. Но я еще не нашел такой вещи и тоже не стал писать. Пока я просто использую подходящий текстовый формат для входа в консоль. Не элегантный и не удобный вариант фильтрации, но он делает свою работу. Написание собственного пользовательского форматера совсем не сложно.

Существует некоторая поддержка для анализа файлов журналов в Eclipse Project and Platform Tools Project (название даже хуже, чем аббревиатура). Я никогда не пробовал, но это может быть полезно для вас.

0 голосов
/ 19 июня 2009

Я не понимаю, как Eclipse может узнать о ваших темах. Если это XML, вам нужно написать синтаксический анализатор, который сможет найти сообщения вашего потока с помощью XPath и распечатать их. Но это зависит от вас - Затмение не может читать ваши мысли.

Вам нужно найти таблицу стилей XSL-T, которая может взять поток XML, созданный log4j, и извлечь нужные вам потоки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...