我是LogStash的新手。我正在学习GROK模式以及如何从日志行中提取数据。所以我使用Logback来打印日志行。logback.xml中的布局如下所示:
%date{dd/MM/YYYY HH:mm:ss.SSS ZZ} [%-5level] [%thread] %logger{40} - %msg%n%xThrowable
因此,它通常会将日志输出打印在如下文件中:
07/06/2022 14:37:41.471 +0530 [WARN ] [main] com.cmt.trial.logging.LoggingTrial - Trying to log an warn
现在到目前为止,我已经得到了:
%{DATE_EU:date} %{TIME:time} %{ISO8601_TIMEZONE:zone} \[%{LOGLEVEL:loglevel}.*]
它确实提取了日期、时间、时区和日志级别。但是我想不出一种方法来提取线程名称[main]
。任何关于这方面的指针都将是有帮助的。
先谢谢你。
1条答案
按热度按时间ffscu2ro1#
可以使用
DATA
(regex.*?
)而不是GREEDYDATA
(regex.*
)(代码here),因为知道线程名称在括号内,所以类似于