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