Skip to content

fix: unify docker compose logs and admin panel log viewer#29

Merged
ChanyaVRC merged 2 commits into
masterfrom
fix/unified-logging
May 4, 2026
Merged

fix: unify docker compose logs and admin panel log viewer#29
ChanyaVRC merged 2 commits into
masterfrom
fix/unified-logging

Conversation

@ChanyaVRC

Copy link
Copy Markdown
Owner

問題

docker compose logs -f と管理画面のログビューアに差異があった。原因は3つ:

  1. api コンテナに StreamHandler がない: uvicorn プロセスは basicConfig を呼ばないため、ルートロガーに StreamHandler がなく、アプリケーションログ(ルートハンドラー等)が stdout に出ない → docker compose logs -f に見えない
  2. uvicorn ロガーがファイルに書かれない: uvicorn, uvicorn.access, uvicorn.errorpropagate=False + 独自の StreamHandler のため、ルートロガーを経由せずファイルハンドラーに届かない → 管理画面に見えない
  3. 2コンテナが別々のファイルに書く: log_file が共有ボリューム上のパスでない場合、botapi コンテナがそれぞれ別ファイルに書くため、管理画面(api コンテナのファイルを読む)には bot のログが見えない

修正

src/logging_setup.py

  • StreamHandler がない場合は追加(api コンテナでも stdout に出るように)
  • uvicorn ロガーを propagate=True に変更し、独自 StreamHandler を除去してルートロガー経由に統一
    • 二重出力なし、stdout + ファイルの両方に記録される

docker-compose.yml

  • LOG_FILE: /data/ideal_bot.log を両サービスに追加
  • data ボリュームは両コンテナで共有されているため、同一ファイルに書き込まれる
  • 管理画面が botapi 両方のログを統合表示できる

テスト

  • StreamHandler が存在しない場合に追加されること
  • 既に StreamHandler がある場合は重複しないこと
  • uvicorn ロガーが propagate=True になること
  • uvicorn ロガーの StreamHandler が除去されること

- setup_file_logging now adds a StreamHandler to root if none exists, so
  application logs from the api (uvicorn) container reach stdout and appear
  in `docker compose logs -f`
- uvicorn's loggers (uvicorn, uvicorn.access, uvicorn.error) are rerouted
  through root (propagate=True, own StreamHandlers removed) so HTTP access
  and error logs also appear in the log file read by the admin panel
- docker-compose.yml: LOG_FILE=/data/ideal_bot.log on the shared data volume
  so both bot and api containers write to the same file, giving the admin
  panel a unified view matching `docker compose logs -f`
@ChanyaVRC ChanyaVRC force-pushed the fix/unified-logging branch from f77eb86 to cdbe6a6 Compare May 4, 2026 05:41
Comment thread docker-compose.yml

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不要な変更

@ChanyaVRC ChanyaVRC merged commit 39eef0c into master May 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant