大容量ログアナライザー
非常に大きな Serilog、.NET、Nginx、JSON Lines、テキストログをローカルでストリーミング処理、フィルタリング、グラフ化、エクスポートできます。
入力内容とファイルはブラウザ内に留まります
ここにログファイルをドロップ
ここにログファイルをドロップ
.log、.txt、.jsonl、.ndjson に対応。ファイルはこのデバイス内に保持されます。
ローカルの Web Worker がファイルを上限付きのチャンク単位でスキャンします。入力内容やフィルターがアップロードまたは保存されることはありません。
インポート設定
安全上限: 1行あたり 2 MiB、1億レコード、フィルターと集計ラベルあたり 512文字、集計値 2,000種類、タイムスタンプの分単位値 4,096種類。
ログファイルを選択すると、ローカルにスパースインデックスを作成してレコードを分析します。
ログ全体をフィルタリング
重大度別件数
時系列イベント
この結果にはタイムスタンプ付きレコードがありません。
上位のエラー種別
上位のメッセージテンプレート
集計のカーディナリティが安全上限に達しました。レコード件数とフィルタリングの精度は維持されますが、出現頻度の低い新しいラベルやタイムスタンプの分単位値はグラフから省略されます。
元の行(完全表示)
結果の行を選択すると、元のソーステキストを確認できます。
応答性を保つため、画面上の元の行は 64 KiB に短縮されています。エクスポートではすべてのバイトが保持されます。
フィルター結果全体をエクスポート
エクスポート時はすべてのレコードを再スキャンし、一致した元の行を元の改行コード付きでストリーミングします。表示中のプレビューだけがエクスポートされることはありません。
ネイティブの保存先選択機能がないブラウザーでは、上限 512 MiB のメモリ内ダウンロード方式を使用します。
このページの内容
大容量ログアナライザーは、本番環境のログをブラウザー内だけで解析します。運用データをアップロードせずに、Serilog JSON、Compact Log Event Format、一般的な .NET テキスト、Nginx のアクセスログとエラーログ、汎用 NDJSON、プレーンテキストを処理できます。
詳細な機能
アナライザーは Web Worker で上限付きのチャンクを1つずつ読み取り、スパースなファイルオフセットと上限付きの集計カウンターだけを保持します。タイムスタンプ、重大度、ソース、リクエスト ID または相関 ID、レンダリング済みメッセージ、メッセージテンプレート、例外種別を抽出します。フィルターはソース全体を再スキャンし、仮想テーブルは表示に必要な小さなページだけを要求します。不正形式の構造化行も非表示にはならず、表示されたまま件数に含まれます。
エクスポートではフィルター結果全体を再スキャンし、元の UTF-8 行のバイト列を LF、CRLF、CR の各終端文字付きでストリーミングします。Serilog のレンダリング済み @m テキストを表示し、@mt は上位メッセージ件数を集計するためのグループ化キーとして使用します。入力や結果が localStorage に保存されることはありません。
実用例
Serilog CLEF: {"@t":"2026-10-17T10:01:00Z","@l":"Error","@mt":"Payment failed for {OrderId}","@m":"Payment failed for 17"} は、変化する注文 ID を1つのテンプレートとしてグループ化します。
Nginx アクセスログ: combined-log のリクエストには、HTTP ステータスの分類に基づいて重大度が割り当てられます。
相関検索: リクエスト ID を入力して複数のソースにまたがるイベントを絞り込み、一致した元の行をすべてエクスポートできます。
このツールの使い方
形式を選択
一般的なファイルには自動検出を使用するか、Serilog/.NET、Nginx、JSON Lines、テキストを明示的に選択します。
ログを開く
ローカルファイルを1つドロップすると、正確なバイト数、経過時間、処理速度を確認できます。キャンセルすると、途中まで作成された Worker セッションは破棄されます。
フィルタリングと確認
開始時刻と終了時刻を含む時間範囲、重大度、ソース、リクエスト ID / 相関 ID、フリーテキスト検索を組み合わせます。仮想結果テーブルを参照し、行を選択して元のテキストを確認します。
エクスポート
フィルター結果全体をダウンロードします。Worker は元のファイルを再スキャンし、一致したすべての行をバックプレッシャー制御付きでストリーミングします。
ヒントとベストプラクティス
- 任意の JSON オブジェクトを Serilog として解釈させたくない場合は、JSON Lines プリセットを明示的に選択してください。
- 不正形式の件数は、選択した構造化プリセットに一致しない行を示します。汎用テキストでは、有効な UTF-8 のすべての行を受け入れます。
- 重大度を何も選択しない場合は、結果は空になります。時間範囲を指定すると、解析可能なタイムスタンプがないレコードは除外されます。
- メモリを安全に使用するため、集計ラベルとタイムスタンプの分単位値にはカーディナリティ上限がありますが、合計件数、フィルタリング、ページング、エクスポートの精度は維持されます。
- フリーテキスト検索は、デコードされた元の行に対して大文字と小文字を区別せずに部分一致検索を行います。