用于在 Logstash 中处理 log4j 日志模式的 grok 过滤器

grok filter for processing log4j logs pattern in Logstash

我无法在 log4j 日志

中找到用于处理转换模式 %d{HH:mm:ss.SSS} %-5p [%t][%c] %m%n 的 grok 过滤器

这是一个示例日志条目:

2018-02-12 12:10:03 INFO classname:25 - Exiting application.
2017-12-31 05:09:06 WARN foo:133 - Redirect Request : login
2015-08-19 08:07:03 INFO  DBConfiguration:47 - Initiating DynamoDb Configuration...
2016-02-12 11:06:49 ERROR foo:224 - Error Code : 500

任何人都可以帮助找到 Logstash grok 过滤器。

我在这里找到了适用于您的 log4j 模式的过滤器。

filter{
   mutate {
      gsub => ['message', "\n", " "]
          }

   grok { 
      match => { "message" => "(?<date>[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}) (?:%{LOGLEVEL:loglevel}) +(?:%{WORD:caller_class}):(?:%{NONNEGINT:caller_line}) - (?:%{GREEDYDATA:msg})" } 
        }
     }

不过,这是上面日志特有的。