7

python logging は、basicConfig でレベルを設定します:

import logging

def show(level):
    logging.basicConfig(level=level)
    logging.info('info')
    logging.debug('debug')
    logging.warn('warn')
    logging.error('error')
    logging.fatal('fatal')
    logging.warning('warning')
    logging.critical('critical')
    logging.exception('exception')

show(logging.WARNING)
show(logging.DEBUG)

2 つの結果は同じですが、期待どおりの結果を得るにはどうすればよいですか?

4

1 に答える 1

12

logging.basicConfig ドキュメントによると、 logging.basicConfigへの 2 回目の呼び出しは有効になりません。

ルートロガーにすでにハンドラーが構成されている場合、この関数は何もしません。

def show(level):
    logger = logging.getLogger()
    logger.setLevel(level)
    logging.info('info')
    ....
于 2013-07-25T03:10:42.750 に答える