Regex для извлечения полей сообщения об исключении (используется rsyslog в качестве источника сообщения)

Я создаю синтаксический анализатор журнала для разбора сообщения журнала из разных источников, таких как rsyslog, расширение logback, nxlog и т. Д.

Я должен извлечь поля сообщения об исключении. Но я застрял при создании регулярного выражения для тестовой строки ниже.

Тестовая строка:

2014-10-16 01:32:22,780 ERROR main Sample.main - java.lang.NullPointerException: Sample Log4j Exception
    at Sample.errorLevel3(Sample.java:35)
    at Sample.errorLevel2(Sample.java:31)
    at Sample.errorLevel1(Sample.java:27)
    at Sample.main(Sample.java:16)

Замечания: \n а также \t принимаются как буквальные #012#011 в строке сбежал rsyslog

Ожидаемый матч:

2014-10-16 01:32:22,780
java.lang.NullPointerException
Sample Log4j Exception
----------
Sample.errorLevel3
Sample.java
35
----------
Sample.errorLevel2
Sample.java
31
----------
Sample.errorLevel1
Sample.java
27

0 ответов

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