[Python] Stop using print for debugging

Simone Federici s.federici a gmail.com
Mar 23 Giu 2015 00:47:22 CEST


Enrico Bianchi:

> Ovvero, che ne pensate dell'usare logging al posto di print per debuggare
> (parte) del codice?


non ho letto il suddetto articolo, comunque, secondo me il print() va bene
per scripts per l'interazione con l'utente a linea di comando.

Per il debug, è meglio usare pdb.

Per il logging applicativo in produzione, logging è perfetto.
L'importante è loggare con i livelli di log giusti.

Noi ad esempio usiamo DEBUG per poter seguire tutto quello che fa il codice
tipo quando va in bagno, tira la catena, si blocca lo sciacquone etc.

INFO per informazioni tipo la licenza, relative comunque solo a titolo
informativo.

WARNING per tutti i messaggi di configurazioni sbagliate, problemi con
qualche componente remoto, a cui i sistemisti dovrebbero porre attenzione.

ERROR quando c'è un errore, se è gestito solo il messaggio di errore (e in
DEBUG anche il trace dell'eccezione) . Mentre se l'errore non è gestito,
stampiamo comunque lo stacktrace. (tra parentesi questi traces sono quellic
he solitamente ti fanno risolvere i bug)

CRITICAL è un problema serio, con il quale il programma non funziona più.

In produzione il livello di log che impostiamo è INFO, o WARNING.

uno dei problemi facendo abuso di logging, è che scrivere su file, su
syslog o su standard output è comunque molto costoso in termini di
performance.

se imposti DEBUG in produzione rischia di andare tutto a 1/10 della
velocità.

my2cent
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150623/8e4a440e/attachment.html>


Maggiori informazioni sulla lista Python