2009-11-11 18 views
14

Quiero guardar todas las siguientes excepciones en un archivo. La razón por la que necesito esto es porque IDLE para Python 3.1.1 en Ubuntu genera una excepción en calltipps, pero casi rápida, que no se puede leer. También necesito esto para probar. Lo mejor sería si solo llamo a una función que guarda todas las excepciones en un archivo. ¡Gracias! ;)guardar Excepciones al archivo en python

// editar:

había mirado por primera vez para una manera más general! para que no tenga que colocar todo su código en una función o sangría. pero ahora eso funcionó muy bien para mí. aunque estaría agradecido, ¡si encuentras una manera!

gracias!

+0

¿Por qué no puede ejecutar su script desde la línea de comando y ver el resultado allí? –

+0

¡vuelve a leerlo! cuando intento mostrar calltipp con STRG + SPACE, la ID (L) E se rompe. Quiero saber qué tipo de excepción se ha presentado. – Joschua

+0

Por favor, responda mi pregunta. ¿Por qué no estás corriendo desde la línea de comando? ¿Por qué estás huyendo de IDLE? ¿Por qué no te estás ejecutando desde el prompt de shell ordinario? –

Respuesta

31

Si usted tiene un main() función conveniente (como se llame), entonces se puede utilizar la 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 convenientemente obtiene la excepción actual y pone los datos en el registro:

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! 
Cuestiones relacionadas