Scrivi i log su un file in Python
-
Scrivi i log su un file con il modulo
logging
in Python -
Scrivi i log su un file con la funzione
logging.FileHandler()
in Python
![Scrivi i log su un file in Python](/img/Python/feature-image---python-log-to-file.webp)
Questo tutorial introdurrà i metodi per scrivere i log in un file in Python.
Scrivi i log su un file con il modulo logging
in Python
I log vengono utilizzati per eseguire il debug di un programma e scoprire cosa è andato storto. Il modulo logging
viene utilizzato per registrare i dati in un file in Python. Possiamo usare la funzione logging.basicConfig()
per configurare i log da scrivere in un file specifico. Per impostazione predefinita, possiamo registrare 5 tipi di linee con il modulo logging
. Questi tipi di messaggi includono debug, informazioni, avvisi, errori e critici. Tuttavia, possiamo aumentare quel numero a tutto ciò di cui abbiamo bisogno attraverso la codifica. Il seguente esempio di codice ci mostra come scrivere i log in un file con la funzione logging.basicConfig()
.
import logging
# Creating and Configuring Logger
Log_Format = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(
filename="logfile.log", filemode="w", format=Log_Format, level=logging.ERROR
)
logger = logging.getLogger()
# Testing our Logger
logger.error("Our First Log Message")
Il contenuto del file di logfile.log
:
ERROR 2021-06-13 04:14:29,604 - Our First Log Message
Abbiamo scritto il messaggio di registro Our First Log Message
di livello error
con la data e l’ora corrette di registrazione utilizzando la funzione logging.basicConfig()
nel codice sopra. La cosa più importante durante la scrittura dei log è la data e l’ora in cui si verificano. Quindi, abbiamo prima creato un formato per i nostri log all’interno della stringa Log_Format
. Questo formato include il livello del registro, la data e l’ora dell’occorrenza e il messaggio da scrivere.
Quindi, utilizziamo il parametro filename
della funzione logging.basicConfig()
per specificare il file di registro. Abbiamo assegnato il valore a
al parametro filemode
della funzione logging.basicConfig()
per aprire il file in modalità append
in modo che i log precedenti non vengano cancellati ogni volta che c’è un nuovo log. Quindi impostiamo il parametro format
su Log_Format
. Dopo questo passaggio, abbiamo assegnato il parametro logging.ERROR
al parametro level
per specificare il livello minimo dei log in errore. Abbiamo creato un oggetto logger con logger = logging.getLogger()
per scrivere messaggi di registro. Alla fine, abbiamo scritto il messaggio di errore con logger.error("Our First Log Message")
.
Scrivi i log su un file con la funzione logging.FileHandler()
in Python
Possiamo anche usare la funzione logging.FileHandler()
per scrivere i log in un file in Python. Questa funzione prende il percorso del file in cui vogliamo scrivere i nostri log. Possiamo quindi utilizzare la funzione addHandler()
per aggiungere questo gestore al nostro oggetto logger. Il codice seguente mostra come scrivere i log in un file con la funzione logging.FileHandler()
.
import logging
logger = logging.getLogger()
handler = logging.FileHandler("logfile.log")
logger.addHandler(handler)
logger.error("Our First Log Message")
contenuto logfile.log:
Our First Log Message
Abbiamo scritto il messaggio di registro, Our First Log Message
, nel file logfile.log
con la funzione logging.FileHandler()
nel codice sopra. Per prima cosa abbiamo creato un oggetto logger che useremo per scrivere i log con la funzione logging.getLogger()
. Quindi, creiamo un gestore di file, handler
, e gli assegniamo logging.FileHandler('logfile.log')
. Successivamente, abbiamo aggiunto questo nuovo handler
al nostro oggetto logger con logger.addHandler(handler)
. Alla fine, abbiamo scritto il messaggio di errore nel nostro file con logger.error('Our First Log Message')
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn