2009-11-11 8 views
14

以下のすべての例外をファイルに保存します。私がこれを必要とする理由は、UbuntuのPython 3.1.1用のIDLEがcalltippsで例外を発生させますが、readbleではないのでfastに近いからです。また、私はテストのためにこれが必要です。最高です、すべての例外をファイルに保存する関数を呼び出すだけです。ありがとうございました! ;)pythonのファイルへの例外を保存します。

//編集:私は、より一般的な方法のために最初に見えていた

!関数やインデントにコード全体を配置する必要はありません。しかし今は私のためにうってつけに働いた。あなたが方法を見つけたら、私はまだ感謝していますが!

ありがとうございました!

+0

コマンドラインからスクリプトを実行してその出力を見ることができないのはなぜですか? –

+0

もう一度お読みください! STRG + SPACEでコールチップを表示しようとすると、ID(L)Eが分割されます。どのようなタイプの例外が発生したのか知りたい。 – Joschua

+0

私の質問にお答えください。なぜあなたはコマンドラインから実行していないのですか?なぜあなたはIDLEから走っていますか?なぜあなたは普通のシェルプロンプトから走っていないのですか? –

答えて

31

あなたは(それが呼ばれています何でも)の便利なmain()機能を持っている場合は、使用することができlogging module

import logging 

def main(): 
    raise Exception("Hey!") 

logging.basicConfig(level=logging.DEBUG, filename='/tmp/myapp.log') 

try: 
    main() 
except: 
    logging.exception("Oops:") 

logging.exception便利現在の例外を取得し、ログに詳細を置きます:

ERROR:root:Oops: 
Traceback (most recent call last): 
    File "C:\foo\foo.py", line 9, in <module> 
    main() 
    File "C:\foo\foo.py", line 4, in main 
    raise Exception("Hey!") 
Exception: Hey! 
関連する問題