0
docsとton SOの回答などによると、複数のモジュール間でロギングを行うには "すべて行う必要があります"というのはメインファイルにロガーを設定してからlogger = logging.getLogger(__name__)
。ログレベルが他のモジュールに持ち越されていない
しかしこれは正しくありません。そうすれば、ロギングレベルは引き継がれないので、logger.setLevel(...)
を持つすべてのファイルに追加の行が必要になります。簡単な例:私はtest.py
を実行する場合
test.py
import logging
from test2 import bla
logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
def main():
logger.info('main info')
bla()
main()
test2.py
import logging
logger = logging.getLogger(__name__)
def bla():
logger.info('info')
logger.debug('debug')
、test2.py
から何も印刷されません。
最初の設定で何か他にもありますか?