2009-10-05 21 views
5

Tengo que utilizar módulo de registro de Python para imprimir información de depuración en un archivo con declaraciones como:Cómo evitar el truncamiento del archivo de registro con el módulo de registro de Python?

logging.debug(something) 

El archivo se trunca (estoy asumiendo - por el módulo de registro) y los mensajes se borran antes de que pueda ver ellos - ¿cómo se puede prevenir eso?

Aquí es mi registro de configuración:

logging.basicConfig(
    level = logging.DEBUG, 
    format = '%(asctime)s %(levelname)s %(message)s', 
    filename = '/tmp/my-log.txt', 
    filemode = 'w' 
) 

Gracias!

Respuesta

11

logging

Si ejecuta la secuencia de comandos en varias ocasiones, los mensajes de registro adicionales se añaden al archivo. Para crear un nuevo archivo cada vez, puede pasar un argumento filemode a basicConfig() con un valor de 'w'. Sin embargo, en lugar de administrar el tamaño del archivo usted mismo, es más simple usar un RotatingFileHandler.

para evitar sobrescribir el archivo, no debe establecer filemode-'w' o set it to 'a' (que es la configuración por defecto de todos modos).

Creo que simplemente está sobrescribiendo el archivo.

Cuestiones relacionadas