2009-11-11 6 views
14

Ich möchte alle folgenden Ausnahmen in einer Datei speichern. Der Grund, warum ich das brauche, ist, dass die IDLE für Python 3.1.1 in Ubuntu eine Exception bei Call-Tipps auslöst, aber nahe bei schnell, dass es nicht lesbar ist. Auch das brauche ich zum Testen. Das Beste wäre, wenn ich nur eine Funktion aufrufen würde, die alle Exceptions in einer Datei speichert. Vielen Dank! ;)speichern Ausnahmen zu Datei in Python

// edit:

ich zum ersten Mal für eine allgemeinere Art und Weise ausgesehen hatte! damit Sie Ihren gesamten Code nicht in eine Funktion oder einen Einzug einfügen müssen. Aber das hat jetzt sehr gut für mich funktioniert. obwohl ich immer noch dankbar wäre, wenn du einen Weg findest!

danke!

+0

Warum können Sie Ihr Skript nicht über die Befehlszeile ausführen und sich die Ausgabe dort anschauen? –

+0

lesen Sie es noch einmal! Wenn ich versuche, den CallTipp mit STRG + SPACE anzuzeigen, bricht die ID (L) E auf. Ich möchte wissen, welche Art von Ausnahme ausgelöst wurde. – Joschua

+0

Bitte beantworten Sie meine Frage. Warum rennst du nicht von der Kommandozeile? Warum rennst du von IDLE? Warum laufen Sie nicht von der normalen Shell-Eingabeaufforderung aus? –

Antwort

31

Wenn Sie eine günstige main() Funktion haben (was auch immer es genannt wird), dann können Sie mit der 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 wird bequem die aktuelle Ausnahme und legt die Details im Protokoll:

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! 
Verwandte Themen