私のDjangoアプリケーションでは、すべてのレベルをファイルに記録するようにログを設定しました。これはうまく機能します。
管理コマンドの間(そしてそこでのみ)、コンソールにも(いくつかのレベルで)ログを記録したいと思います。
これを実現するために、(動的に)ロギングを設定するにはどうすればよいですか?
実際には非常に簡単でした。リダイレクトしたい各ロガーに新しいハンドラーを追加するだけでした。
loggernames = [ ... ]
level = logging.DEBUG
handler = logging.StreamHandler()
handler.setLevel(level)
handler.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))
for name in loggernames:
logging.getLogger(name).addHandler(handler)