2010-02-24 4 views
7

У нас есть несколько приложений, которые используют log4j для ведения журнала. Мне нужно заставить обработчик log4j работать, чтобы мы могли объединить несколько файлов журналов и выполнить автоматический анализ на них. Я не собираюсь изобретать колесо, так что может кто-то указать мне на достойный уже существующий парсер? У меня есть шаблон преобразования log4j, если это помогает.Анализ файла журнала log4j

Если нет, мне придется сворачивать самостоятельно.

ответ

8

Я не понимал, что log4J поставляется с XML-приложением.

Soltuion был: укажите xml appender в файле конфигурации ведения журнала, включите, что выведите XML-файл как объект в хорошо сформированный XML-файл, а затем проанализируйте xml, используя ваш любимый метод.

Другие методы имеют следующие ограничения:

  • Chainsaw - не автоматизировано достаточно
  • JDBC - низкая производительность в высокой производительности распределенного приложение
2

То, что вы ищете, называется SawMill, или что-то вроде этого.

+1

+1 для связи. Следует упомянуть, что Лесопилка не является бесплатной. –

1

Файлы журнала Log4j не подходят для синтаксического анализа, они слишком сложны и неструктурированы. Есть сторонние инструменты, которые могут это сделать, я считаю (например, Sawmill).

Если вам необходимо выполнить автоматический выборочный анализ журналов, вам следует рассмотреть возможность входа в базу данных и анализ этого. JDBC поставляется с JdbcAppender, который добавляет все сообщения в базу данных по вашему выбору, но имеет последствия для производительности, и это немного шелушатся. Существуют и другие аналогичные альтернативы на interweb (например, this one).

0

Вы -can- использовать LOG4J в Chainsaw V2 обрабатывать различные файлы журналов и собрать их в одну таблицу, а также выход эти события как XML или использовать встроенный в фильтрации экспрессии на основе поиска & Расцветка поддержки бензопилой, чтобы нарезать & кубики журналов.

шаги: - Начало Chainsaw V2 - Создайте файл конфигурации бензопила путем копирования файла пример конфигурации можно найти на вкладке Welcome - определить запись одного LogFilePatternReceiver «плагин» для каждого файла журнала, который вы хотите обработать - Start бензопилой с этой конфигурацией - Каждый файл журнала будет отображаться как отдельная вкладка в пользовательском интерфейсе . - Приостановите вкладку журнала бензопилы и очистите события от этой вкладки. . Создайте новую вкладку, которая объединяет события с различных вкладок, перейдя к пункт меню «view, crate custom expression logpanel» и введите «level> = DEBUG» в поле. Он создаст новую вкладку, содержащую события со всех вкладок с уровнем> = debug (именно поэтому вы очистили вкладку журнала бензопилы).

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

Если вы не хотите использовать бензопилу, вы можете сделать что-то похожее - запустите простейшее приложение, которое не регистрируется, но загружает файл конфигурации log4j.xml с записями «плагин», которые вы определили для конфигурации Chainsaw, но также определите FileAppender с xmllayout - все события, полученные «приемниками», будут отправлены в одно приложение.

3

Вы можете использовать OtrosLogViewer с batch processing. Вы должны:

  1. Определение входа формат, вы можете использовать Log4j pattern layout parser или Log4j XmlLayout
  2. Создать класс Java, который реализует LogDataParsedListener. Метод public void logDataParsed (данные LogData, контекст BatchProcessingContext) будет вызываться в каждом анализируемом событии журнала.
  3. Создать флягу
  4. Запустить OtrosLogViewer с указанием вашего баннера обработки журнала, реализации LogDataParsedListener и файлов журнала.
Смежные вопросы