print関数から脱却すべくloggingの勉強を始めました。
色々なサイトを読んでいると、
Python
1import logging 2 3logging.basicConfig(level=logging.DEBUG)
などのように書いてしまうとグローバルに変更されてしまうので、
loggerを作成してそれぞれに設定していくのが良いというのをよく目にしたのでそのようにしようと考えました。
そのため以下のように書くようにしました。
Python
1from logging import getLogger, StreamHandler, DEBUG 2 3logger = getLogger('__name__') 4handler = StreamHandler() 5handler.setLevel(DEBUG) 6logger.addHandler(handler)
このようにして、logger.debug('debug')
と入力してもdebug出力されません。
色々なサイトを見るとlogger.setLevel(DEBUG)
のようにlogger自身にレベルが設定されているようです。
ここでhandlerに対してsetLevelを行うだけでは出力されない理由がよくわかりません。
StreamHandlerは標準出力についての設定ではないのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/12 08:25