障害調査で「このログを調べてください」と渡されたファイルが、10GB、ときには50GBある。ダブルクリックしても開かない。ここで作業が止まった経験のある方向けに、ファイルを分割せず、無料ツールでそのまま開いて調査する手順をまとめます。
なぜ普通のエディタでは開けないのか
メモ帳は数百MBで「ファイルが大きすぎます」になり、VS Codeやサクラエディタも数GBで固まるか、警告付きの制限モードになります。理由は単純で、多くのエディタは編集のためにファイル全体をメモリへ読み込もうとするからです。50GBのログを32GBのメモリに載せることは、そもそもできません。
「分割すればいい」が解決にならない理由
splitコマンドや分割ツールで1GBずつに切る方法もよく紹介されます。しかし障害調査では、これが逆効果になりがちです。
- 行番号が失われる——「エラーは何行目か」を報告できない
- 前後関係が切れる——エラーの直前に何が起きたかが、別ファイルの末尾に行ってしまう
- 50GBなら50個のファイルを順に開いて探すことになり、検索が手作業に戻る
調査で欲しいのは「切った断片」ではなく、1本のログを1本のまま見られることです。
手順: UwView(無料)でそのまま開く
UwView は、巨大なログ・テキスト専用の無料ビューアです(Windows / macOS / Linux対応)。編集はできない代わりに、ファイル全体を読み込む前に表示が始まる設計になっています。
- 無料版をダウンロード(Windowsはzipを展開して実行するだけ。インストール不要)
- ログファイルをウィンドウへドラッグ&ドロップ
- 開いた瞬間からスクロールできます。スクロールバーを最下部までドラッグすれば、最終行(最新のログ)へそのまま移動できます
- ツールバーの検索から「ERROR」を検索。正規表現も使えます
- 検索結果一覧から該当行へジャンプし、前後の行をそのまま確認
索引の構築はバックグラウンドで進み、完了すると行番号が付きます。索引を待たずに、開いた直後から末尾も途中も見られるのが、調査で効くところです。
実測の一例を挙げます。47.73GB・約8億9,200万行のテキスト(OSMデータ、USB外付けSSD、メモリ32GBのマシン)で、開いた直後から末尾への移動と検索ができることを確認しています。行数の上限は約5,500億行——実用上は、ディスク容量のほうが先に尽きます。
無料版で解決できる範囲
今回の「巨大ログを一度開いて、エラーを探し、前後を確認する」という作業は、無料版だけで完了します。文字列検索・正規表現・色分け・Shift-JISなど日本語エンコーディングの自動判定も無料版に入っています。一度きりの障害調査なら、ここから先は読まなくて大丈夫です。
同じログを何度も調査するなら — UwView Pro
繰り返しの作業には、無料版に2つの待ち時間が残ります。開き直すたびに索引を作り直すこと、そして検索がファイル実体を毎回読むことです。
UwView Pro は索引と圧縮キャッシュをファイルに保存します。上記の47.73GBの実測では、2回目以降のオープンは約0.02〜0.07秒(行番号付き)、文字列検索は圧縮キャッシュ経由で約9倍になりました。ログを約1/9のサイズで保管して、展開せずそのまま開くこともできます(48GB→5.3GB・チェックサム保護)。
| 作業 | UwView無料版 | UwView Pro |
|---|---|---|
| 巨大ファイルを開いた直後から見る | ○ | ○ |
| 文字列・正規表現の検索、色分け | ○ | ○ |
| 一度だけ障害ログを調査する | ○ これで十分 | ○ |
| 2回目以降を瞬時に開く(索引保存) | ― | ○ |
| 圧縮キャッシュ経由の高速検索(約9倍) | ― | ○ |
| 約1/9で保管し、展開せず開く | ― | ○ |
一度だけなら無料版で十分。同じログに何度も戻る人だけ、Proを検討してください。(買い切り $129/月額 $9・1ライセンスで全OS)
リンク
- UwView 無料版ダウンロード: https://uvp.y42u.net/download/?utm_source=blog&utm_medium=article&utm_campaign=huge-log-1
- klogg との実測比較(47.73GB・再オープン・検索): https://uvp.y42u.net/blog/uwview-klogg-feature-comparison-v111/
- ソースコード(GitHub): https://github.com/amru195704/UwView
開発者より: アプリ・Kindle本・オープンソースの一覧は GitHub: amru195704 にまとめています。
お願い
本記事の情報は参考目的で掲載しており、正確性・完全性を保証するものではありません。数値は特定環境での実測であり、環境により異なります。機能の有無は各バージョン時点の確認であり、今後のアップデートで変わる可能性があります。誤記・不正確な情報がございましたら、コメント欄よりご指摘いただければ、確認のうえ修正いたします。

