テクノロジー 注目度 63

Claude Codeに「ログを見て」と指示するだけでサーバーログを自動確認させる方法

※本記事の要約および解説はAIが自動生成しており、誤りが含まれる可能性があります。事実確認は元ニュースをご参照ください。

本記事は、開発プロセスにおいて頻繁に発生する「開発サーバーのエラーログ確認」の手間を大幅に削減する、実用的なワークフローを解説しています。開発者が開発用サーバー(例:Vite)を別ターミナルで起動する際、Claude CodeのようなAIアシスタントは通常、その別ターミナルの出力を直接読み取ることができません。そのため、ログをコピー&ペーストする手間が発生します。

この問題を解決するため、記事ではUnixコマンドの`tee`を活用した仕組みを提案しています。`tee`コマンドは、コマンドの出力を画面に表示しつつ、同時に指定したファイル(例:`/tmp/frontend.log`)にも書き出す機能を持っています。具体的には、`npm run dev`のような既存のスクリプトを、`npm run dev:log`という新しいスクリプトに置き換え、`vite 2>&1 | tee /tmp/frontend.log`という形式で記述します。この際、`2>&1`を付加することで、標準出力だけでなくエラー出力(stderr)もログファイルに確実に記録されるようにしています。

この設定を`package.json`に追加した後、さらにグローバルな`CLAUDE.md`ファイル(`~/.claude/CLAUDE.md`)に「ログ確認ルール」を記述します。このルールにより、AIアシスタントが「ログを見て」という指示を受けた際に、自動的に`tail -n 100`などのコマンドを実行し、指定されたログファイル(例:`/tmp/backend.log`, `/tmp/frontend.log`)の内容を読み取り、エラーや警告を要約して報告するようになります。これにより、開発者は単に「ログ見て」と伝えるだけで、AIがサーバーログの確認と分析を自動で行う環境を、わずか5分で構築することが可能になります。モノレポ環境など、複数のサービスが関わる複雑な状況でも、ログファイル名を分けることで、設定の再利用性と管理性を高める方法も提示されています。


背景

開発現場では、フロントエンドとバックエンドなど複数のサービスが同時に動作し、エラーログの確認が必須です。しかし、AIアシスタント(Claude Codeなど)が別ターミナルのログを直接参照できないという制約があり、ログのコピペ作業が非効率でした。本記事は、この開発ワークフローのボトルネックを、OSの標準コマンド(tee)とAIのプロンプトエンジニアリング(CLAUDE.md)を組み合わせることで解消する手法を提案しています。

重要用語解説

  • tee: Unixコマンドの一つ。コマンドの標準出力を画面に表示するだけでなく、同時に指定したファイルにも書き出す機能を持つ。ログの永続的な記録に利用される。
  • 2>&1: Unixシェルコマンドの記述。標準出力(stdout)と標準エラー出力(stderr)の両方を含むようにリダイレクトする意味。エラーメッセージもログファイルに記録するために必須。
  • CLAUDE.md: AIアシスタント(Claude Code)が参照する、プロジェクトやグローバルなルールを記述するためのドキュメントファイル。AIの行動指針や前提知識を自動的に適用させる役割を持つ。

今後の影響

この手法を導入することで、開発者はログ確認のための手動作業から解放され、AIによる自動分析という高付加価値な作業に集中できるようになります。開発効率が飛躍的に向上し、特に大規模なモノレポ環境におけるデバッグプロセスが標準化されることが期待されます。開発ワークフローの改善事例として広く応用可能です。