2011-01-29 15 views

答えて

4
virhilo tmp $ cat l.py 
import logging 

logging.basicConfig(filename='exceptions.log', level=logging.DEBUG) 

try: 
    1/0 
except ZeroDivisionError as e: 
    logging.debug(e) 
virhilo tmp $ python2 l.py 
virhilo tmp $ cat exceptions.log 
DEBUG:root:integer division or modulo by zero 
virhilo tmp $ 

ではなく、あなたはそれはおそらく、ロギングモジュールのドキュメントにリンクする価値がある

+0

詳細なレポートを取得するにはtraceback.print_exc()を使用することができますeをOD .html –

+0

右、忘れてしまいました:) – virhilo

+0

"e"を記録する代わりに、この方法でトレースバック全体を記録するにはどうしたらいいですか? – TIMEX

0

トレースバッククラスを使用できます。このよう

:traceback.print_exc(ファイル=オープン( "errlog.txt"、 "A"))ここで

は(hereから)の例である:、

#!/usr/bin/env python 
import sys, traceback 

def main(): 
    l=[1,2,3,4] 
    print l[4] 

if __name__=="__main__": 
    try: 
     main() 
    except: 
     print "Trigger Exception, traceback info forward to log file." 
     traceback.print_exc(file=open("errlog.txt","a")) 
     sys.exit(1) 

それともあればDjangoで例外を記録したい場合は、このスレッドをチェックしてください。 http://docs.python.org/library/logging:

How do you log server errors on django sites

関連する問題