ログファイルからエラー抽出して通知 - Windowsコマンド実用例
サーバーやアプリケーションのログファイルから、「error」などのキーワードを含む行を抽出し、即座に確認・共有できる形式に整えるバッチスクリプトの例です。重要な異常ログを見逃さずに、素早く対応するために役立ちます。
使用コマンド
バッチファイルの例
@echo off
setlocal
set LOGFILE=C:\logs\server.log
set OUTFILE=C:\logs\error_extract.txt
findstr /i "error" "%LOGFILE%" > "%OUTFILE%"
if exist "%OUTFILE%" (
type "%OUTFILE%" | clip
echo エラー内容をクリップボードにコピーしました。
) else (
echo エラーは検出されませんでした。
)
補足事項
- ログファイルの文字コードがUTF-8 BOM付きの場合、
findstr
で正しく検索できないことがあります。その場合、Chcp でコードページを 65001 に切り替えることである程度検索することができる場合があります。(詳細は Chcp および Findstr のサンプルをご確認ください。) - ログが巨大な場合は
findstr
と組み合わせて特定のパターンや範囲に絞る工夫も可能です。 clip
を使えば、抽出結果をメモ帳やチャットにそのまま貼り付けて共有できます。
応用例
- 検索文字列を調整することで、特定の時間帯やIDを含むログに限定して抽出できます。(例:
findstr "error 2025-04-13"
) - この処理を定期タスク化し、毎日朝に最新ログをチェックするよう設定することもできます。(その際には Schtasks /Create が利用できます。)