Как анализировать файлы журнала с настраиваемой конфигурацией шаблона журнала

Я хотел бы проанализировать набор файлов журналов (обратите внимание на ошибки и создайте отчет)

Эти файлы журналов содержат записи в пользовательском шаблоне журнала.

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>%d{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </layout>
</appender>

и образец записи в журнале

2018-02-05 07:59:49,140 22425254620 [http-11.11.11.11:8000-7] ERROR com.sample - Error in processing

Я использую машину с Windows. Я просмотрел logalyze и apache-chainsaw, но не смог правильно проанализировать файл журнала (записи об ошибках не отображаются должным образом). Я делаю что-то неправильно, используя вышеизложенное?

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


person VJohn    schedule 08.02.2018    source источник
comment
да сэр! Утилита grep над bash позволит вам фильтровать журналы различными способами.   -  person LMC    schedule 09.02.2018
comment
Спасибо, но у меня много файлов журналов, я хотел бы использовать инструменты, чтобы сразу просмотреть эти файлы и перечислить все записанные ошибки. Я пытался использовать инструмент logalyze, но, поскольку документация для этого инструмента ограничена, мне нужна помощь в настройке шаблона, упомянутого выше, в инструменте logalyze.   -  person VJohn    schedule 09.02.2018
comment
Вы можете отфильтровать все сообщения об ошибках из всех файлов с помощью такой команды, как grep 'ERROR com.sample - Error in processing' *.log. Эта утилита (и другие тоже полезные) фильтруют текст на основе регулярных выражений, поэтому ее можно использовать для написания сложных фильтров.   -  person LMC    schedule 09.02.2018


Ответы (1)


Кажется, шаблон из вашего файла конфигурации не соответствует образцу записи в журнале: формат даты

yyyy-MM-dd'T'HH:mm:ss,SSSXXX

должен производить вывод, например

2018-02-10T14:37:48,187Z

Обратите внимание на различия с образцом записи журнала, который вы вставили сюда: символ «T» между временем и датой, а конец ,187Z означает 187 мс Zвремя ulu (XXX означает часовой пояс, я только что проверил это шаблон с Logback 1.2.3). Но вы говорите, что ваш пример записи в журнале больше похож на

2018-02-05 07:59:49,140 22425254620

Итак, возможно, вы вставили на эту страницу шаблон, который вы используете для STDOUT, но используете другой для своего файла журнала?

В любом случае, для анализа файла журнала я бы предложил использовать LogMX. Используя бесплатную версию, перейдите в «Файл» > «Настроить анализаторы журналов...», нажмите зеленую кнопку «+» справа, чтобы создать анализатор, затем щелкните вкладку «Шаблон Log4j/Logback», затем вставьте один из этих шаблонов: (не убедитесь, что тот, который вы используете прямо сейчас - обязательно скопируйте / вставьте из моего ответа, пробелы важны)

  • Для журналов типа 2018-02-05T07:59:49,140Z [http-11.11.11.11:8000-7] используйте:

%d{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",UTC} [%thread] %-5level %logger{36} - %msg%n

  • Для журналов типа 2018-02-05 07:59:49,140 22425254620 [http-11.11.11.11:8000-7] используйте:

%d{"yyyy-MM-dd HH:mm:ss,SSS"} %mx{?} [%thread] %-5level %logger{36} - %msg%n

Вы сказали, что у вас есть несколько файлов журналов: LogMX может открывать несколько файлов журналов и отображать их содержимое в одном объединенном представлении:

  • если все файлы находятся в одном каталоге (локальном или удаленном), просто перейдите в «Файл» > «Открыть журналы...», затем проверьте вкладку «Объединить» внизу

  • если все файлы НЕ находятся в одном каталоге, перейдите в «Файл» > «Открыть несколько журналов в объединенном представлении», затем нажмите зеленую кнопку «+» справа для каждого файла, который вы хотите включить.

  • если все файлы уже загружены в LogMX, вы можете использовать Инструменты > Объединить журналы...

Чтобы отобразить только ОШИБКИ в этих файлах, после их загрузки просто используйте ползунок в левом нижнем углу окна LogMX, чтобы выбрать ОШИБКА (красный конец).

person xav    schedule 10.02.2018