0

我正在使用 logstash 将 tomcat 访问日志转换为 json 格式。访问日志名称采用以下格式

abcd_access_log.2016-03-15.log
efgh_access_log.2016-02-16.log

输入过滤器是:

input { 
    file {
        path => "C:\tools\apache-tomcat-8.0.32\logs\*_access_log.*.log"
        start_position => beginning
    } 
}

它没有显示使用正则表达式的日志。我应该在这里使用什么正则表达式来仅选择这些文件?

4

1 回答 1

0

简单快速的方法

如果您的log文件总是在 之后logs\,您可以使用以下正则表达式:

logs\\(.*?\.log)

捕获.*?后面的所有内容logs\(请注意\\正则表达式中的双精度)。您的文件也以 . 结尾.log,所以不要忘记用 . 转义点\.log

详细描述在Regex101


防弹和较慢的方式

如果缺少关键字符logs\,您可以使用以下正则表达式,它使用负前瞻捕获路径的最后一部分:

\\((?:.(?!\\))+\.log)

这里再次详细说明:Regex101

于 2016-03-24T10:20:58.087 回答