レッスン 4
ISO 8601 とログの時刻形式
`Z` 接尾辞、`+08:00` のようなオフセット、混在ログ行スタイルの読み方。
ISO 8601 は現代 API と設定で最も一般的な日時テキスト形式です。ログは同一ファイル内で ISO、epoch 整数、ロケール依存文字列を混在させることが多い。
ISO 8601 の構成要素
2024-03-15T14:30:00Z # UTC
2024-03-15T14:30:00+08:00 # UTC からの固定オフセット
2024-03-15T14:30:00.123Z # 小数秒
Tが日付と時刻を区切るZまたは数値オフセットで instant が明確- オフセットもタイムゾーン文脈も省略するとバグを招く
RFC 2822 / メール型文字列
次も見かけます。
Mon, 15 Mar 2024 14:30:00 +0000
曜日名と月略称を含みます。多くの言語にパーサーがありますが ISO より均一性が低い — 慎重に検証。
ログ行パターン
典型の組み合わせ:
| スタイル | 例 | 備考 |
|---|---|---|
| Epoch 秒 | 1700000000 | コンパクト、人間向けには変換が必要 |
| ISO UTC | 2023-11-14T22:13:20Z | 自己記述的 |
| ローカル + オフセット | 2023-11-15 06:13:20 +0800 | アプリログで一般的 |
| スペース区切り | 2023-11-14 22:13:20 | タイムゾーンなしでは曖昧 |
ログを grep するとき、パース前に数値または ISO 部分を抽出 — 接頭(INFO、trace ID)は日時の一部ではない。
要点
新システムでは 明示的 Z またはオフセット付き ISO を優先。レガシーログ取り込みでは、相関のため epoch に変換する前にフィールドごとの形式を特定。