我正在使用LogStash,它接受日志文件中的数据,该日志文件具有不同类型的日志。
第一行表示自定义日志,而第二行表示JSON格式的日志。
现在,我想编写一个过滤器,它将根据内容解析日志,最后将所有JSON格式日志定向到一个名为jsonformat.log的文件,另一个日志记录到一个单独的文件中。
答案 0 :(得分:2)
您可以利用json
过滤器,检查是否失败,以决定将事件发送到何处。
input {
file {
path => "/Users/mysystem/Desktop/abc.log"
start_position => beginning
ignore_older => 0
}
}
filter {
json {
source => "message"
}
}
output {
# this condition will be true if the log line is not valid JSON
if "_jsonparsefailure" in [tags] {
file {
path => "/Users/mysystem/Desktop/nonjson.log"
}
}
# this condition will be true if the log line is valid JSON
else {
file {
path => "/Users/mysystem/Desktop/jsonformat.log"
}
}
}