2012-07-18 16 views
24

イベントをログに記録すると、logging.infoはPython端末に表示されません。logging.infoはコンソールに表示されませんが、警告とエラーdo

import logging 
logging.info('I am info') # no output 

対照的に、logging.warnで記録されたイベントが端末に表示されます。

import logging 
logging.warn('I am warning') # outputs "I am warning" 

コンソールにlogging.infoプリントを作るために私ができる環境レベルの変更はありますか?私は各Pythonファイルに変更を加えることを避けたい。

答えて

41

ルートロガーのデフォルトはWARNINGです。

logging.getLogger().setLevel(logging.INFO) 

と電話してみるとうまくいくはずです。

+0

これはうまくいきますが、私は正しいすべてのpythonファイルでそれを変更しなければならないと思いますか? LOGGINGのグローバル設定はありません – daydreamer

+1

いいえ、一度だけ呼び出す必要があります。ロガーは階層構造として構築され、すべてのロギングは* root logger *にまで下がります。 'getLogger()'に引数を指定しないと、ルートロガーが返されます。他のロガーを変更しない限り、ルートロガーを変更するだけで済みます。 – Ztyx

+0

cool、情報ありがとう – daydreamer

3

logging.infoまたはlogging.warnに電話をかけて、level=引数を渡す前に、logging.basicConfigに電話する必要があります。

+3

チュートリアルの内容とまったく同じですが、これは機能しません。 – episodeyang

関連する問題