私はDjangoのドキュメントのアドバイスに従っており、このようにロギングを使用します。私の現在の構成でカスタマイズ
import logging
logger = logging.getLogger(__name__)
def today(...):
logger.info('Sun is shining, the weather is sweet')
を、出力は次のようになります。
2016-08-11 14:54:06 mylib.foo.today: INFO Sun is shining, the weather is sweet
私はこのようなログを使用することを変更することはできません
残念ながらいくつかのライブラリ:
import logging
def third_party(...):
logging.info('Make you want to move your dancing feet')
出力は、残念ながら李に見えますKEこの:
2016-08-09 08:28:04 other_lib.some_file.third_party: INFO Make you want to move your dancing feet
違い::
root.third_party ==>other_lib.some_file.third_party
私が欲しい
2016-08-09 08:28:04 root.third_party: INFO Make you want to move your dancing feet
私はこれを見たいですコードが012の代わりにlogging.info()
を使用する場合、長いバージョン(root
ではなく)を表示する
更新
これは、それの解決策であるため、Elegant setup of Python logging in Djangoの複製ではありません。各モジュールで引用
の
スタート、私は
を使用してロガーを定義しますlogger = logging.getLogger(__name__)
見積りの終了
いいえ、logger.info()
の代わりにlogging.info()
を使用する第三者コードは変更しません。彼らはあなたがしたい場合は、あなただけの
import logging
logging.info("Hi! I'm the root logger!")
を行うときに、デフォルトで得るものですルートロガーを(使用しているためだ
フォローアップの質問
Avoid logger=logging.getLogger(__name__)
without loosing way to filter logs
https://docs.djangoproject.com/en/1.9/topics/ロギング/あなたはsettings.pyでそれを設定する必要があります –
[Elegant setup of Python loggi Djangoでng](http://stackoverflow.com/questions/1598823/elegant-setup-of-python-logging-in-django) –
@be_good_do_goodはい、私はロギングを設定しました。疑問は: 'logger = logging.getLogger(__ name __)'で名前が付けられていないロガーを処理する方法 – guettli