2019/08/13 13:13:17 [DEBUG] Hello, world!
2019/08/13 13:13:17 [INFO] Ignore me
2019/08/13 13:13:17 [INFO] SPECIFIC_LOG :{"name": "mark"}
我喜欢上面的日志,我只需要grep包含“ SPECIFIC_LOG”的日志,而我想忽略其他日志。
我试图这样设置配置,
<source>
@type tail
path ./sample.log
tag debug.sample
<parse>
@type regexp
expression /\[\w+\] SPECIFIC_LOG\s:(?<message>.*)$/
</parse>
</source>
<filter debug.**>
@type parser
key_name message
format json
</filter>
它适用于带有模式的匹配日志,但是对于不匹配的日志,我得到警告,提示
#0 pattern not matched: "2019/08/13 13:13:17 [DEBUG] Hello, world!"
如何只对与模式匹配的日志进行grep处理,以便解决警告?
答案 0 :(得分:0)
这只是警告,表示模式不匹配,我认为可以忽略。
要忽略此类警告,可以设置emit_invalid_record_to_error false
选项。
<filter debug.**>
@type parser
key_name message
format json
emit_invalid_record_to_error false
</filter>
有关此标志的更多信息- https://docs.fluentd.org/filter/parser#emit_invalid_record_to_error
早期版本带有suppress_parse_error_log
标志,现在已被emit_invalid_record_to_error
取代。
suppress_parse_error_log丢失。有哪些替代方案?
从v1开始,parser
过滤器不支持suppress_parse_error_log
参数,因为解析器过滤器使用@ERROR功能而不是内部日志记录来挽救无效的记录。如果只想忽略无效记录,则将emit_invalid_record_to_error设置为false。
另请参见emit_invalid_record_to_error参数。