在ruby筛选器中打印日志存储事件
您好,我正在从RabbitMQ导出日志。为了调试,我想在应用一些正则表达式和base64解码之前打印消息的内容。我正在尝试这样做:在ruby筛选器中打印日志存储事件,ruby,logstash,Ruby,Logstash,您好,我正在从RabbitMQ导出日志。为了调试,我想在应用一些正则表达式和base64解码之前打印消息的内容。我正在尝试这样做: input { rabbitmq { host => "***host***" vhost => "/" exchange => "Exchange" key => "#" } } filter { ruby { code => "print
input {
rabbitmq {
host => "***host***"
vhost => "/"
exchange => "Exchange"
key => "#"
}
}
filter {
ruby {
code => "print event['message']"
}
}
output {
elasticsearch {
host => "localhost"
}
}
但是我的消息只有
nil
值。使用此选项打印消息
input {
stdin{}
}
filter {
ruby {
code => "
puts event['message']
"
}
}
output {
stdout {
codec => "rubydebug"
}
}
仅供参考 谢谢您的回答,但唯一打印的是换行符(CRLF)。。。可能与编码有关?我已经更新了答案。这是我使用的配置。它可以打印出事件['message']中的所有消息。我想在你的情况下,也许这不是ruby过滤器的问题。使用你的.conf可以工作,但是过滤器没有效果,它会在没有过滤器的情况下将相同的结果打印到stdout。这个代码:filter{ruby{code=>“puts event”}返回:2014-08-18T09:52:34.162+0000%{host}%{message}但您的只在输出与标准输出不同时返回CRLF。。。