タイムスタンプと詳細情報付きでログを表示する
前のステップでは、実行中のコンテナの基本的なログを確認しました。出力内容自体は有用ですが、各ログエントリがいつ生成されたかなどのコンテキストが不足していることがよくあります。Docker には、ログにタイムスタンプやその他の詳細情報を含めるためのオプションが用意されています。
タイムスタンプ付きでログを表示するには、docker logs
コマンドに-t
または--timestamps
フラグを指定します。これにより、各ログエントリの先頭にタイムスタンプが追加され、コンテナの標準出力または標準エラーに書き込まれた時刻が表示されます。
my-logging-container
のログをタイムスタンプ付きで表示してみましょう:
docker logs -t my-logging-container
これで、各行の先頭にタイムスタンプが付いたログが表示されます。タイムスタンプは RFC3339Nano 形式(例:2023-10-27T10:30:00.123456789Z
)で表示されます。
2023-10-27T10:30:00.123456789Z Hello from the container at ...
2023-10-27T10:30:05.123456789Z Hello from the container at ...
2023-10-27T10:30:10.123456789Z Hello from the container at ...
...
タイムスタンプを含めることは、特にイベントの順序を理解したり、特定の問題が発生した時期を特定したりする際に、ログ分析において重要です。
もう一つの便利なオプションは-f
または--follow
フラグで、ログをリアルタイムでストリーミング表示できます。これはログファイルに対してtail -f
コマンドを使用するのと似ています。コンテナで試してみましょう:
docker logs -f my-logging-container
このコマンドは既存のログを表示した後、コンテナによって生成される新しいログエントリを継続的に表示します。5 秒ごとに新しい「Hello from the container...」メッセージが表示されるのが確認できます。
ログの追跡を停止するには、Ctrl+C
を押します。
-t
と-f
フラグを組み合わせるのは、タイムスタンプ付きでコンテナログをリアルタイム監視する一般的な方法です:
docker logs -tf my-logging-container
これにより、コンテナの出力をライブで確認でき、その動作を観察したり、問題が発生した際にデバッグしたりすることが容易になります。