ログファイルはブラウザー内で 1 MB ずつ読み込まれ、外部に送信されません。リクエスト数や 4xx/5xx の集計をパス別に確認し、エラー行や認識できなかった行をその場で見直せます。
ブラウザ内でローカルに実行アクセスログまたは JSON Lines ファイルを選択するか、下に小さなサンプルを貼り付けてください。
| パス | リクエスト | 4xx | 5xx |
|---|---|---|---|
| まだログが解析されていません。 | |||
このパーサーは一般的な複合ログフィールドや以下のような一般的な JSON キーを認識します。 status, path, method, and ip. これは運用上の概要であり、セキュリティインシデントの検出器ではありません。
複合アクセスログまたは JSON Lines を、ひと目で確認できる要約に変換します。認識できた行と認識できなかった行、4xx/5xx の件数、一意の IP、アクセスの多いリクエストパス、確認すべき行をまとめて表示します。
処理はすべてこのブラウザータブ内で完結します。ファイルはアップロードされず 1 MB ずつローカルに読み込まれ、結果はコピーできる閲覧専用のレポートです。フィルタリングや書き換えは行いません。
Nginx/Apache の複合ログ形式(例: 203.0.113.5 - - [25/Aug/2026:10:12:33 +0000] "GET /health HTTP/1.1" 200 16 "-" "curl/8.0")に一致する行は、複合アクセスログとして解析されます。リファラーとユーザーエージェントのフィールドは省略できます。{ で始まる行は、既知のキーを 1 つ以上含む場合に JSON Lines として解析されます: status・statusCode・response.status、path・url・request.path、method、ip・remote_addr・client.ip、level・severity、message・msg、timestamp・time。
それ以外は未認識として件数を数え、行番号付きでそのまま表示します。行が黙って捨てられることはありません。Syslog、Windows イベントログ、CSV、整形済みの複数行 JSON は対象外です。先に JSON Lines へ変換してください。
パスはクエリ文字列を除いて集計するため、/api/projects?page=2 と /api/projects は同じ行にまとまります。表にはアクセス数の多い順に最大 12 件のパスが表示され、それぞれの 4xx・5xx 件数も確認できます。概要の数値はファイル全体を対象とし、一意の IP は認識できた行から数えます。
「注目すべき行」には最大 24 件を表示します。4xx/5xx の応答、レベルやメッセージがエラーを示す行(error・fatal・exception・critical)、解析できなかった行が含まれます。ステータス欄が - の応答は 4xx/5xx の集計に含まれません。これは運用向けの要約であり、インシデント調査やセキュリティ監視のツールではありません。
ファイルはブラウザーの FileReader で 1 MB ずつ読み込まれ、貼り付けたテキストと同じパーサーに渡されるため、メモリ使用量は増え続けません。デスクトップ版 Chrome でのテストでは、120,000 行・12 MB のログを約 0.2 秒で要約しました。
外部への送信がないため、オフラインでも動作し、第三者に送りたくないログにも向いています。ただしその場限りのスナップショットです。履歴やフィルタ、IP ごとの内訳はなく、「概要をコピー」で得られるのは主要な数値のテキストであり、表全体のエクスポートではありません。