2011-01-24 12 views
1

私のアプリでロギングモジュールを使用しているところで問題が発生しています。私はMacBook ProのPydevではなくLDT Python(Py 2.7)インターフェースに対してEclipseで作業しています。ロギングモジュールはEclipseを介して動作します。しかし、私のアプリケーションをRHEL5 2.7に転送すると、ロギングはまったく機能していないようです。例外を投げているわけではなく、コンソールやファイルに何も記録していないだけです(ファイルを作成します)。PythonロギングモジュールがMacではログに記録されますが、Linuxではログに記録されません。

コード:私はこの作品を作ることができる方法についての

# Initialize logging 
log = logging.getLogger('pepPrep') 
# Log to stderr 
console = logging.StreamHandler() 
console.setLevel(logging.INFO) 
# Log to file 
logname = 'pepPrep.' + datetime.datetime.now().strftime("%Y%m%d_%H:%M") + '.log' 
filelog = logging.FileHandler(logname) 
filelog.setLevel(logging.DEBUG) 
# set a format 
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s') 
# tell the handler to use this format 
console.setFormatter(formatter) 
filelog.setFormatter(formatter) 
# add the handler to the root logger 
log.addHandler(console) 
log.addHandler(filelog) 

log.INFO('This is a test') 
log.DEBUG('This is a test2') 

任意のポインタ?

+0

ログを正しく閉じていますか? – ismail

答えて

3

デフォルトのログ記録のしきい値はWARNINGです。したがって、デフォルトではINFODEBUGのメッセージは出力されません。これを行うには、たとえばを追加します。

logging.getLogger().setLevel(logging.DEBUG) 

DEBUGINFOメッセージを取得します。

あなたはこれを確認することができ、そのsetLevelを追加し、警告が実際に出力されていることを確認する前に

log.warning('This is a test3') 

を行うことで、あなたの問題です。

+0

これは本当に問題です。ちょうどLinuxでチェックしました – Konstantin

関連する問題