なぜログの出力形式をJSONにするのか
ログを出力形式をどうするか考えたとき、基本的にはJSONを推すことにしている。 その理由を整理してみた。
1. ツールを使ってパースしやすい
TableauやSplunkなどのBIツールを使って解析するのにJSON形式は都合が良いと聞いた。 残念ながら自分はBIツールを使って解析するようなことをしないのでこの恩恵がどの程度のものなのかは分からない。
2. 構造の規則性が視覚で分かるので理解しやすい
1行の文章でつらつらとログメッセージが出てきたときに、ぱっと見て分かった!と自分はならない自信がある。 継続してログを見続けるうちにメッセージの単語の位置を覚えて解析も早くなるみたいな熟練は求めてないので、誰もが分かりやすい形を目指したい。するとキーを見て値が想像しやすいJSONはベストかなと思った。 整理されたフォーマットは他の作業者にも共有しやすいと思う。
3. ログを再利用しやすい
JSONなのでそのままAPIで送受信できる。 ログをパースして必要な情報を取り出し、後続の処理に渡すことも可能。
上記の理由で、自分がログの出力形式を決定できるならJSONを推します。