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 の key=value 行を JSON オブジェクトに、1行につき1オブジェクトで変換
- 複数行のログ抜粋を JSON 配列に、単一行を単一のオブジェクトに変換
- スペースや等号を含むダブルクォートで囲まれた値を尊重
- true・false・数値の文字列を実際の JSON 型に変換(文字列のまま保つトグルあり)
- 値のない裸のキーを logfmt のブール値 true として扱う
- 変換を逆にし、JSON オブジェクトやオブジェクトの配列を logfmt 行に戻す
- logfmt を書き出す際、スペース・等号・引用符を含む JSON 値を引用符で囲む
- 結果をワンクリックでコピー、または logs.json や logs.logfmt としてダウンロード
logfmt to JSON コンバーター の使い方
- 方向を選びます: logfmt to JSON、または JSON to logfmt。
- 左の入力ボックスにログ行または JSON を貼り付けます。
- Coerce types をオン/オフして、数値とブール値の検出を制御します。
- 右側で変換後の出力を確認し、コピーするかファイルとしてダウンロードします。
例
入力
level=info msg="hello world" count=3 ok=true
出力
{
"level": "info",
"msg": "hello world",
"count": 3,
"ok": true
}
引用符付きの値はスペースを保ち、count と ok はそれぞれ数値とブール値に変換されます。
よくあるエラーとトラブルシューティング
- スペースを含む値が2つのキーに分割される。 — msg="hello world" のように、複数語の値をダブルクォートで囲んでください。logfmt では引用符のない空白が新しいキーの開始になります。
- 実際の型が欲しいのに、数値やブール値が文字列のままになる。 — Coerce types をオンにすると、裸の true・false や数値が JSON のブール値・数値になります。
- JSON to logfmt が「must be an object or an array of objects」と表示する。 — logfmt 行はフラットな key=value ペアなので、入力は単一のオブジェクトかオブジェクトの配列である必要があり、裸の数値や文字列ではいけません。
よくある質問
- 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 ツール