logfmt to JSON コンバーター

logfmt の key=value ログを JSON に、また JSON から logfmt に、そのままブラウザー内で変換します。ログ行はデバイス上に留まります。

ログ行はブラウザー内でローカルに変換され、アップロードされることはありませんが、本物の秘密情報・トークン・個人データを含むログをどのツールにも貼り付けないよう注意してください。

JSON をさらに整形したいですか? JSON Formatter をお試しください。

logfmt to JSON コンバーター について

この logfmt to JSON コンバーターは、key=value 形式の構造化ログ行をクリーンな JSON オブジェクトに変換し、JSON を logfmt に戻すこともできます。logfmt は、Heroku のルーターログ、Grafana Loki、log/slog を使う Go サービスなどで見られる行指向のフォーマットで、各行が一連の key=value ペアです。logfmt パーサーとして、スペースや等号を含むダブルクォートで囲まれた値を尊重し、値のない裸のキーをブール値 true として扱い、任意で true・false・数値の文字列を実際の JSON 型に変換します。各行が1つのオブジェクトになり、複数行は JSON 配列になるため、ログの抜粋全体を一度に流し込めます。ログをスクリプトやダッシュボード用に整形したいバックエンドエンジニアや SRE のために作られています。変換はすべてブラウザー内で動作するため、貼り付けたログ行はローカルで処理され、デバイスから外に出ることはありません。

機能

logfmt to JSON コンバーター の使い方

  1. 方向を選びます: logfmt to JSON、または JSON to logfmt。
  2. 左の入力ボックスにログ行または JSON を貼り付けます。
  3. Coerce types をオン/オフして、数値とブール値の検出を制御します。
  4. 右側で変換後の出力を確認し、コピーするかファイルとしてダウンロードします。

入力

level=info msg="hello world" count=3 ok=true

出力

{
  "level": "info",
  "msg": "hello world",
  "count": 3,
  "ok": true
}

引用符付きの値はスペースを保ち、count と ok はそれぞれ数値とブール値に変換されます。

よくあるエラーとトラブルシューティング

よくある質問

logfmt とは何ですか。
logfmt は、各行が level=info msg="started" count=3 のような一連の key=value ペアからなる、シンプルな行指向のログ形式です。人間が読みやすく機械が解析しやすいため、Heroku、Grafana Loki、Go サービスで広く使われています。
引用符付きの値はどのように扱われますか。
ダブルクォートで囲まれた値はそのまま保たれるため、引用符内のスペースや等号は値の一部として残ります。たとえば msg="a=b c=d" は文字列 "a=b c=d" に解析されます。引用符付きの値は常に文字列として扱われ、数値やブール値に変換されることはありません。
Coerce types トグルは何をしますか。
変換をオンにすると、裸の true と false は JSON のブール値になり、200 や 0.5 のような数値の文字列は JSON の数値になります。オフにするとすべての値を文字列のまま保つため、007 のような識別子を書かれたとおりに保ちたい場合に役立ちます。
値のないキーはどのように変換されますか。
debug のように等号のない単独のキーは logfmt のフラグで、JSON 出力では true になります。これは、裸のキーが設定済みのブール値を示すという一般的な logfmt の慣習に従っています。
JSON を logfmt に戻せますか。
はい。方向を JSON to logfmt に切り替え、オブジェクトかオブジェクトの配列を貼り付けます。各オブジェクトが1つの logfmt 行になり、スペース・等号・引用符を含む値は自動的にダブルクォートで囲まれます。
ログ行はどこかにアップロードされますか。
いいえ。logfmt と JSON の変換はすべてブラウザー内で動作するため、貼り付けたログ行はデバイス上でローカルに処理され、サーバーに送信されることはありません。

関連ツール

すべての ArrayKit ツール