Edited at

構造化ログのススメとRuby向けロガーOugaiを作った理由


構造化ログ

構造化ログ とは、機械的に処理しやすいログのことであり、その機構(ロギング)である。

英語圏では、 Structured Logging と表記される。たとえば Google Cloud の Stackdriver のドキュメントには下記の説明ページがあります。(残念ながら執筆時点で、これの日本語ページがまだできてないので、Google がどう訳すか興味深い)

https://cloud.google.com/logging/docs/structured-logging


普通のログと構造化ログの比較

普通のログは、基本的に タイムスタンプレベル 、そして メッセージ の文字列だけである。ログとして残す事象(イベント)のコンテキストになる情報はメッセージに適当に埋め込む。コンソール等で人が読みやすいものである。

構造化ログは、メッセージに埋め込んでいたコンテキストになる情報をそれぞれログ構造のフィールドに独立して持たせる。そのため後から解析がしやすい。そして出力するログはテキストベースで JSON にすることが多い。

(続く)

続きは tilfin's note へ