をどのように機能するかをこの例があります:私はLogger
のために、二回logging.DEBUG
にレベルを設定し、StreamHandler
のため必要があるのはなぜログでsetLevel、それは<a href="http://docs.python.org/dev/howto/logging.html" rel="noreferrer">logging howto documentation</a>で
import logging
# create logger
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)
?
私はch.setLevel(logging.DEBUG)
がストリームハンドラのデバッグレベルを設定することを理解しています。しかし、効果はロガーにレベルを設定することですか?このレベルはどこに反映されていますか?
レベルをたとえばINFO
に変更すると、Logger
またはStreamHandler
のいずれかにコンソール出力が表示されます。
です:
...........
logger.setLevel(logging.INFO)
............
ch.setLevel(logging.DEBUG)
は(あなたが複数のハンドラを持つことができ、それぞれが異なるレベルが設定されている可能性が)それは微調整のためにあります
...........
logger.setLevel(logging.DEBUG)
............
ch.setLevel(logging.INFO)