loggerメモ

logging — Logging facility for Python
Source code: Lib/logging/__init__.py Important: This page contains the API reference information. For tutorial information and discussion of more advanced topics, see Basic Tutorial, Advanced Tutor...
logging — Logging facility for Python favicon https://docs.python.org/3/library/logging.html
logging — Logging facility for Python

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)
# []