2011-12-21 20 views
10

Ho usato log4J e log4N su precedenti progetti non-pythonic. Mi piace l'eruzione di avvertimenti, errori e escalation. La possibilità di registrare l'errore e se si tratta di e-mail seria il team di supporto. Anche il ciclo automatico dei file di registro è importante in quanto verrà eseguito su un piccolo dispositivo LINUX.Registrazione in Python?

Posso farlo con il modulo di registrazione Python standard o c'è un approccio migliore?

+1

Il modulo di 'loging' standard è molto probabilmente completamente adatto alle vostre esigenze. – eumiro

+0

@eumiro: AFAIK non supporta il file di registro in modo ciclico fuori dalla scatola, o no? – Constantinius

+0

@Constantinius - ha la rotazione dei file: http://docs.python.org/howto/logging-cookbook.html#using-file-rotation – eumiro

risposta

11

Sì, lo logging module ha livelli di registro DEBUG, INFO, WARNING, ERROR e CRITICAL. È possibile impostare un SMTPHandler per inviare la posta quando il livello di registrazione è, per esempio, CRITICO ed è possibile impostare un RotatingFileHandler per limitare il numero e la dimensione dei file di registro.

7

Il modulo standard Python logging è esplicitamente ispirato a log4J, quindi quasi sicuramente lo si troverà adatto. Ha la stessa gerarchia ed è possibile definire gestori che ascoltano uno o più livelli e fare qualcosa di appropriato, sia che si tratti di un registro o di un indirizzo e-mail tramite SMTP. Vedi lo Python logging tutorial.

Problemi correlati