本文へスキップ
snowkitDev

大きなログファイルを待たずに読む

ギガバイト級を含め、あらゆるサイズのログを開きます。レベル、テキスト、正規表現、時間で絞り込み、一致箇所をハイライトで確認して、エラーからエラーへジャンプできます。

ログビューア

.log、.txt、.jsonl、.gzファイルを、あらゆるサイズで開きます。

開いているファイルはありません
ログファイルを開くと、ここにその行が表示されます。
代わりにログのテキストを貼り付け

ファイルは端末上で分割して読み取られます。何もアップロードされないので、非公開のログは非公開のままです。大きなログファイルを開き、レベルと時間で絞り込み、検索して、エラーからエラーへジャンプできます。無料で、ブラウザ上で動作します。

ログファイルの読み方

  1. 「ログファイルを開く」を押すか、「例を試す」を押します。非常に大きなファイルに時間がかかりすぎる場合は、「停止」を押します。
  2. 「これらの行を表示」で、表示するレベルを選びます。
  3. 「検索」に入力して検索します。「開始」と「終了」で時間の範囲を制限するか、「いつでも」で制限を外します。
  4. 「前のエラー」と「次のエラー」で、問題を順にたどります。
  5. 「行へ移動」で、行番号にジャンプします。
  6. 「表示中の行をダウンロード」を押して、絞り込んだものを保存します。

大きなファイル向けに作られています

ファイルは一度に読み込まれずストリーミングされるので、読み取り中に行が表示され、画面上の行だけが描画されます。gzipのログ(.gz)は、ストリーミングしながら展開されます。数百万行のファイルは、一般的なノートパソコンでも快適に動作します。上限は端末のメモリです。

レベルと時間

レベルは、一般的な形式から読み取られます:ERROR、WARN、INFO、DEBUGの語、[error]タグ、level=warnフィールド、levelフィールドを持つJSONログ、JSONロガーの数値レベル、Android logcatの文字、Pythonのトレースバック。スタックトレースの行は、上の行のレベルを引き継ぎます。タイムスタンプは、ISO 8601、ApacheとNginxのアクセスログ、syslog、JSONの時刻フィールドから読み取られます。

問題を見つけるコツ

  • まずエラーだけを表示し、そのあと障害の前後の警告まで広げましょう。
  • 時間フィルターを使って、問題が起きた数分間に絞り込みましょう。
  • ユーザーやリクエスト番号などのIDを検索すると、ログ内でひとつの流れを追えます。
  • ヘルスチェックなどのノイズの多い行を隠して、本当のメッセージを目立たせましょう。
  • 絞り込んだ行を保存して、非公開の情報を取り除いたあと、チームメイトやサポートと共有できます。

こんな方に

何かが壊れた原因を調べる開発者、システム管理者、ウェブサイトの所有者、顧客からのログを読むサポート担当者向けです。ジョブのタイミングにはcron式ツール、2つのログの比較には差分チェッカーをご覧ください。

よくある質問

すべてのエラーをすばやく見つけるには?

ErrorとFatalのレベルだけをオンにするか、すべてを表示したまま「次のエラー」で前後の文脈とともに順に確認します。行をクリックすると、一覧の下に全文が表示されます。

正規表現で検索できますか?

はい。「正規表現」をオンにして、user=\d+や(timeout|refused)のようなパターンを入力します。「一致する行を隠す」は検索を逆にするため、ヘルスチェックのようなノイズを除くのに便利です。

時間フィルターは、タイムゾーンをどう扱いますか?

ZやZ+02:00のようにゾーンが付いたタイムスタンプは正確です。ゾーンのないものは、お使いのローカルのタイムゾーンで読み取られ、そのオプションをオンにするとUTCになり、「開始」と「終了」のボックスも同じ設定を使います。

フィルターした結果を保存できますか?

「表示中の行をダウンロード」では、フィルターに一致する行だけが、.logファイルとして保存されます。

次はこちら

作ったものを、そのまま端末上で続けましょう。

Snowkitのその他