用于 logback 日志解析的正则表达式

regex for logback log parsing

为什么不是下面的

([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}) (\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2},\d{3}) \[(.*?)\] ([^ ]*) +([^ ]*) - (.*)$

不符合以下任何一项

22bd49ad-eff4-4d20-b87d-eae1d0ab90e6 2015-12-28 13:28:19,025 [http-nio-8090-exec-3] DEBUG o.s.b.a.e.mvc.EndpointHandlerMapping apps : Did not find handler method for [/facets/apps/search]

编辑:发布正确的 link

测试linKhttps://regex101.com/r/lV4wU2/1

结尾部分+([^ ]*) - (.*)

不匹配

o.s.b.a.e.mvc.EndpointHandlerMapping apps : Did not find handler method for [/facets/apps/search]

所以整个表达式不匹配。

编辑 您应该尝试类似的方法来匹配您的输入: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12} (\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2},\d{3}) \[(.*?)\] ([^ ]*) ([^ ]*) (.*)$

您可以使用这个正则表达式:

^[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){4}[a-fA-F0-9]{8} (\d{4}(?:-\d{2}){2}) ((?:\d{2}:){2}\d{2},\d{3}) \[(.*?)\] (\S*) +(\S*) [^:]*: (.*?)(?=\n[a-fA-F0-9]{8}|\z)

RegEx Demo

[^ ]* 可以在您的正则表达式中替换为 \S*,并且最后一部分没有连字符。