python の logger
loggerメモ
https://docs.python.org/3/library/logging.html
root logger
loggerは木構造になっている
import logging
logger = logging.getLogger()
print(logger)
# <RootLogger root (WARNING)>
RootLogger の handler 空なんですけど
print(logging.getLogger().handlers)
# []
空の場合に logging モジュールが勝手に設定する、 lastResort に流される!
_defaultLastResort = _StderrHandler(WARNING)
lastResort = _defaultLastResort
なので、
logging.lastResort = None
# まだ黙らない
No handlers could be found for logger "root"
以下のようにして黙らす。
logging.lastResort = logging.NullHandler()
filter
フィルタは WARNING レベル。
logger.debug('debug') # 出ない
logger.warning('warning') # 出る
default の handler (出力)
print(logger.handlers)
# []