0

情報レベルを stdout に出力する方法は?

import logging
import sys
root = logging.getLogger()
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
root.addHandler(ch)

root.info('test1')
root.error('test')

結果のみのエラー レベル:

2013-11-14 11:44:19,675 - root - ERROR - test

なんで ?

4

2 に答える 2

4

このコードは、ロガーではなくハンドラーのレベルを設定します。

次の行を置き換えます。

ch.setLevel(logging.INFO)

と:

root.setLevel(logging.INFO)
于 2013-11-14T07:47:07.523 に答える
0

追加の入力を与えるには、

メッセージをロガーに渡すと、最初にロガーがログレベルを許可しているかどうかがチェックされ、許可されている場合は Handler1... Handler2 に渡され、同じロジックが適用されます。

于 2013-11-14T13:17:52.353 に答える