fluentdのin_tailプラグインでjsonを読む
in_tailプラグインでformatにjsonを指定すると、jsonをそのまま(文字列にせずに)読める。
このように設定しておいて
<source> type tail path /tmp/error.log pos_file /tmp/error.log.pos tag debug.error format json </source> <match debug.**> type stdout </match>
ログファイルにjsonを書き込んで、
echo '{"hoge":"fuga"}' >>/tmp/error.log
fluentdの標準出力を見ると、オブジェクトのまま表示される。
2012-09-11 20:20:46 +0900 debug.error: {"hoge":"fuga"}
jsonとして不正な文字列を渡すと無視される。