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

StackOverflow https://stackoverflow.com/questions/465329

Вопрос

Мы хотим иметь возможность создавать файлы журналов из нашего Java-приложения, которое подходит для последующей обработки инструментами, которые помогают исследовать ошибки и собирать статистику производительности.

В настоящее время мы используем традиционный & журнал, который может или не может быть сведен в текстовую форму и добавлен в файл журнала &, но это лучше всего подходит для небольших объемов информации, читаемой человек.

После тщательного рассмотрения лучше всего сохранить события журнала в виде фрагментов XML в текстовых файлах (которые затем обрабатываются как любой другой файл журнала), а затем загрузить их на компьютер с помощью соответствующего инструмента для последующей обработки.

Я хотел бы использовать как можно более широко поддерживаемый формат XML, и сейчас я нахожусь в " research-then-make-solution " фаза. Я был бы признателен за любую помощь, как с точки зрения формата XML, так и инструментов, и я был бы рад написать связующий код, чтобы получить то, что мне нужно.

Что я нашел до сих пор:

log4j Формат XML: поддерживается бензопилой и Vigilog. Формат Lilith XML: поддерживается Lilith

Не исследованные инструменты:

Microsoft Log Parser: очевидно, поддерживает XML. Просмотр журнала OS X:

Кроме того, на http: // www есть много инструментов. loganalysis.org/sections/parsing/generic-log-parsers/

Есть предложения?

Это было полезно?

Решение 5

Похоже, что средство просмотра журнала Lilith содержит XML-формат, который хорошо подходит для работы с дополнительными возможностями, доступными в logback, а не только с log4j.

На данный момент это лучшая ставка на данный момент:)

<Ч>

Я адаптировал класс log4j xmllayout для входа в систему, который работает с бензопилой.

<Ч>

Поскольку я не смог найти подходящего средства просмотра журналов, способного визуализировать информацию о событиях (вместо того, чтобы просто представлять все события в таблице), я на данный момент решил создать очень краткий XML-макет, содержащий информацию, анализируемую компьютером, на основе выше, который может быть затем обработан Microsoft LogParser в любой нужный мне формат.

Другие советы

К сожалению, я не могу дать вам ответ, который вы ищете, но я хотел бы предупредить вас о том, что следует учитывать при входе в XML. Например:

<log>
 <msg level="info">I'm a log message</msg>
 <msg level="info">I'm another message</msg>
 <!-- maybe you won't even get here -->
 <msg level="fatal">My server just ate a flaming death

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

Если вы определяете свою собственную запись в файл журнала XML, вам не нужно беспокоиться о наличии закрывающего и открывающего тега для создания правильного XML. Ответ Илии прав в том, что у вас есть проблема, если вы хотите создать XML документ , но это не обязательно сразу. Стандарт W3 также определяет XML Entities (см. Раздел 4.3 спецификации W3 XML 1.0, второе издание, на которое, к сожалению, я не могу ссылаться, потому что у меня не хватает точек), что было бы более подходящим для постоянного добавления в файл журнала без перезаписи его частей. Затем вы можете создать ссылочный документ-оболочку XML, если вам нужно работать с реальным документом XML, а не с сущностью XML (см. http://www.perlmonks.org/?node_id=217788#217797 для примера)

Одним из приятных моментов в log4j является то, что он предлагает прекрасные возможности для настройки форматов журналов и того, куда они записываются.

Таким образом, вместо выбора какого-либо формата файла журнала, я бы выбрал библиотеку журналов, которая позволяет изменять формат и позволяет также получать журнал напрямую в какую-либо программу.

Я бы посоветовал вам рассмотреть возможность logback-access для событий.

Кроме этого, все, что использует JMX, так как оно было сделано, чтобы соответствовать набору функций SNMP.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top