Python ha un modulo integrato chiamato registrazione Per ottenere le informazioni del registro per qualsiasi applicazione Python. È un modulo molto utile per il Programmatore Python da principiante o esperto per stampare il messaggio di stato nel flusso di output o in un file. La maggior parte delle librerie Python di terze parti utilizza questo modulo per generare informazioni di registro per l'applicazione Python. Come puoi usare questo modulo è mostrato in questo articolo utilizzando 25 semplici esempi di registrazione di Python.
Elenco degli esempi di registrazione:
getLogger () La funzione viene utilizzata per creare un oggetto logger. Questa funzione può essere chiamata con il nome del logger o senza un nome logger. Il nome del logger predefinito è radice. Nell'esempio seguente, l'oggetto logger viene creato con un nome logger e senza un nome logger utilizzando getLogger (). Qui verranno stampati tre messaggi di avviso. La root verrà stampata come nome del logger per il primo e il secondo messaggio di avviso. Il terzo messaggio di avviso verrà stampato con il nome del logger assegnato nella funzione getlogger ().
Esempio 1.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio1.PyProduzione:
Il nome logger predefinito è "root" e quando l'oggetto logger viene creato senza alcun nome, il logger denominato è anche "root". Quindi, apparirà il seguente output dopo aver eseguito lo script.
Vai in cima
Utilizzo di baseConfig ()
BasicConfig () La funzione viene utilizzata per configurare le opzioni di registrazione del logger di root. Diverse tipi di configurazione di base possono essere eseguiti da questa funzione. Formato, livello, nome file, eccetera. sono gli argomenti più usati di questa funzione. formato viene utilizzato per formattare l'output del messaggio di registro. livello viene utilizzato per impostare il livello di registrazione. nome del file viene utilizzato per inviare l'output del messaggio di registro a un file anziché la console. Gli usi di formato E livello Gli argomenti sono mostrati nel seguente esempio.
Esempio2.Py
Modulo #IMPORTINGEsegui lo script dal terminale.
$ Python Esempio2.PyProduzione:
Qui, il Messaggio è impostato in formato Argomento e la registrazione livello è impostato per Debug. Il seguente messaggio di debug verrà stampato come output dopo l'esecuzione dello script.
Vai in cima
Usando setLevel ()
setLevel () La funzione viene utilizzata per impostare il livello di registrazione. Sei livelli possono essere impostati da questa funzione. Questi sono Debug (10), info (20), avvertimento (30), errore (40), critico (50) E Non set (0). Il livello predefinito è impostato su non set quando viene creato un oggetto logger e i messaggi vengono elaborati in base al logger di root se non viene definito alcun nome logger. Il root logger elabora i messaggi per avviso, errore e livello critico per impostazione predefinita. Come è possibile modificare il livello di logger corrente utilizzando setLevel () La funzione è mostrata nel seguente esempio. Qui, i messaggi di debug e di avviso vengono stampati prima e dopo l'impostazione del livello di registro nello script.
Esempio3.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio3.PyProduzione:
Il primo messaggio di debug dello script non verrà stampato per il livello di logger predefinito e il secondo messaggio di debug verrà stampato per l'impostazione del livello del logger su Debug. Apparirà il seguente output
Dopo aver eseguito lo script.
Vai in cima
Utilizzando getEffectiveLevel ()
getEffectiveLevel () La funzione viene utilizzata per recuperare il valore del livello di registro corrente. Se il livello di registro corrente è impostato su NotSet, l'oggetto logger cercherà il livello di registro del logger di root. Se non si trova nulla per il logger di root, verrà restituito il valore del livello di registro di notset. Come puoi usare getEffectiveLevel () Per leggere il livello di registro corrente è mostrato nel seguente esempio. Qui, questa funzione viene chiamata prima e dopo l'impostazione del livello di registro.
Esempio4.Py
Modulo #IMPORTINGEsegui lo script dal terminale.
$ Python Esempio4.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script. L'output mostra che il livello di registro predefinito è avviso (30) e il livello di registro è debug (10) dopo aver impostato il livello.
Vai in cima
Utilizzo di isEnabledfor ()
isEnabledfor () La funzione viene utilizzata per verificare che qualsiasi livello di registro sia abilitato o disabilitato. L'esempio seguente controllerà innanzitutto il livello di informazioni è abilitato o meno. I livelli di informazione e debug non sono abilitati per impostazione predefinita. Quindi l'output di isenablefor () La funzione sarà falsa. Successivamente, il livello di registro è impostato su informazioni e isEnabledfor () tornerà vero per l'ultima affermazione.
Esempio5.Py
Modulo #IMPORTINGEsegui lo script dal terminale.
$ Python Esempio5.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Utilizzo del debug ()
Debug () La funzione viene utilizzata per stampare informazioni dettagliate dopo aver diagnosticato i problemi dello script. Il valore numerico di Debug Il livello è 10 e devi impostare questo livello per fare Debug () funzione attiva. L'uso di questa funzione è mostrato da un semplice script nel seguente esempio. Qui, il livello di registro è impostato su Debug per stampare il messaggio di debug. La funzione check_even () è definita per verificare che il numero di input è uniforme o dispari. Se il numero non è nemmeno allora la funzione emetterà un messaggio di debug altrimenti nessuno.
Esempio6.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio6.PyProduzione:
Lo script viene eseguito per i momenti con un numero pari un numero dispari. Quando 55 viene preso come input, stampa il messaggio di debug e quando 12 viene preso come input, non viene passato alcun messaggio.
Vai in cima
Usando Info ()
informazioni() La funzione viene utilizzata per fornire un messaggio di successo o generale all'utente per confermare che il codice funziona correttamente. Il valore numerico di INFORMAZIONI Il livello è 20 e devi impostare questo livello prima di utilizzare informazioni() funzione. L'uso di questa funzione è mostrato nel seguente esempio. Qui, due valori numerici sono assegnati in due variabili X E y. Una funzione personalizzata 'aggiunta'è dichiarato calcolare la somma di X E y. informazioni() La funzione viene utilizzata per chiamare la funzione e stampare il risultato di somma.
Esempio7.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio7.PyProduzione:
Qui, non viene creato nessun oggetto logger. Quindi, il logger predefinito è root e la somma di xey è 50. Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Utilizzo dell'avvertimento ()
avvertimento() La funzione viene utilizzata quando si verifica un problema imprevisto o per avvertire l'utente per il problema futuro. Il valore numerico del livello di allarme è 30. La funzione di avvertimento () funziona per il logger predefinito. L'uso di questa funzione è mostrato nel seguente esempio. Qui, il livello di registro è impostato per avvisare all'inizio dello script. Questo script calcolerà l'area del cerchio in base al valore del raggio preso. Se il valore del raggio è zero, un messaggio di avviso stamperà altrimenti l'area del cerchio verrà stampata.
Esempio8.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio8.PyProduzione:
Lo script viene eseguito due volte nell'output con i valori del raggio, 0 e 4. Il messaggio di avviso viene stampato quando il valore del raggio è 0 e il valore dell'area viene stampato quando il raggio è 4.
Vai in cima
Utilizzo di errore ()
errore() La funzione viene utilizzata quando esiste un problema serio nello script. Il livello numerico di errore è 40. errore() La funzione funziona per il logger predefinito. L'esempio seguente mostra l'uso del errore() funzione. La funzione dello script è quella di prendere un nome file esistente come input e stampare il contenuto del file. sistema operativo.sentiero Il modulo viene utilizzato per leggere qualsiasi file in Python. Quindi, questo modulo viene importato per primo. Qui, se il nome file che richiederà come input non esiste nel sistema, il messaggio di errore verrà stampato altrimenti il contenuto del file verrà stampato.
Esempio9.Py
#IMport OS.Modulo del percorsoEsegui lo script dal terminale.
$ Python Esempio9.PyProduzione:
Lo script viene eseguito due volte nel seguente output. Per la prima volta, il nome file fornito come input non esiste nel sistema e il messaggio di errore viene stampato. Per la seconda volta, il nome file che viene preso come input esiste nel sistema e il contenuto del file viene stampato.
Vai in cima
Usando critico ()
La funzione critica () viene utilizzata anche per indicare il problema grave che può fermare l'esecuzione dello script. Il livello di registro di critica è 50. critico () La funzione funziona per il logger predefinito. L'uso di questa funzione è mostrato nel seguente esempio. Qui, due valori di input saranno presi dall'utente come dividendo e divisore. Se il valore del divisore è 0, si verificherà un errore critico e verrà stampato un messaggio critico.
Esempio10.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio10.PyProduzione:
Lo script viene eseguito due volte nel seguente output. Quando 78 e 0 sono presi come input, viene stampato il messaggio di errore critico. Quando 24 e 2 sono presi come input, quindi 12.0 è stampato come output.
produzione.
Vai in cima
Registrazione a un file
L'output della registrazione mostra nella console per predefinito configurazione. Ma è possibile archiviare l'output della registrazione in un file utilizzando l'argomento fileName di baseConfig (). Come è possibile archiviare le informazioni di registrazione in un file è mostrato nell'esempio. Qui, 'Mio.tronco d'albero'è assegnato come nome file e archiviato nell'argomento del nome file di baseconfig (). Il livello di registrazione è impostato su Debug. Dopo aver eseguito lo script "Mio.tronco d'albero' verrà creato il file e i messaggi di registro verranno archiviati nel file.
Esempio11.Py
Modulo di registrazione #IMportEsegui lo script e visualizza il contenuto di Mio.tronco d'albero file dal terminale.
$ Python Esempio11.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Utilizzo della variabile nella registrazione
Tutti i dati dallo script possono essere aggiunti al registro utilizzando la variabile in Python. Questo esempio mostra come è possibile passare qualsiasi variabile Python nel messaggio di registro. Questo script seguente prenderà due input di stringhe dagli utenti come nome utente E parola d'ordine. Se i valori di input corrispondono ai valori menzionati nello script, verrà fornito un messaggio di registro di errore passato con il valore di errmsg variabile. Se i valori non corrispondono, verrà stampato un messaggio di registro informazioni con il valore della stessa variabile.
Esempio12.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio12.PyProduzione:
Lo script viene eseguito due volte con i dati validi e i dati non validi nel seguente output. Quando 'amministratore' E 'segreto'sono passati come nome utente E parola d'ordine che sono dati non validi, quindi ha memorizzato un messaggio di errore nella variabile, errmsg. Quando 'fahmida ' E 'segreto' sono passati come nome utente E parola d'ordine Come input che sono dati validi, quindi un messaggio di successo viene archiviato nella variabile, errmsg. Il valore di errmsg viene stampato con il messaggio di errore del registro per errore e con il messaggio di informazione del registro per la successo.
Vai in cima
Utilizzo di eccezione ()
eccezione() La funzione viene utilizzata nella registrazione se lo script Python contiene un codice gestore di eccezione. Funziona come errore () funzione di registrazione. La differenza è quella eccezione() La funzione visualizza la traccia dello stack insieme alla sua uscita. L'uso di questa funzione è mostrato nel seguente esempio. Il seguente script prenderà un valore numerico come input e aumenterà un'eccezione se il valore di input è negativo. Qui, eccezione() La funzione stampa il messaggio di eccezione cattura per eccezione.
Esempio13-py
Modulo di registrazione #IMportEsegui lo script dal terminale.
$ Python Esempio13.PyProduzione:
Quando lo script viene eseguito con il valore -89 che è negativo, ha lanciato un'eccezione e stampato la traccia dello stack e l'output di eccezione. Quando lo script viene eseguito con il valore 13 che è positivo, non viene stampato alcun messaggio.
Vai in cima
Creazione di un gestore
Le voci di registro possono essere gestite in modi diversi utilizzando diversi gestori. I gestori più comunemente usati per la registrazione sono Filehandler E StreamHandler. Filehandler viene utilizzato per inviare le voci di registro a un file e StreamHandler viene utilizzato per inviare le voci del registro alla console. Gli usi di questi gestori sono mostrati nel seguente esempio. In questo script, il livello di debug è impostato per Filehandler Il livello di oggetti e informazioni è impostato per StreamHandler oggetto. Per questo, i messaggi di debug e informazioni saranno archiviati nel logdata.tronco d'albero Il messaggio di file e informazioni verrà stampato nella console.
Esempio14.Py
Modulo #IMPORTEsegui lo script e visualizza il contenuto di 'logdata.Registra 'File dal terminale.
$ Python Esempio14.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando formatter ()
Formatter () La funzione viene utilizzata per configurare il contenuto e la struttura dei dati di registro. Come puoi usare Formatter () funzione per configurare i dati di registro di Filehandler L'oggetto è mostrato nel seguente esempio. Qui, Formatter () viene utilizzato per formattare i dati di registro con tempo di creazione, nome del logger e messaggio di registro. mylog.tronco d'albero Il file verrà creato dopo l'esecuzione dello script e i messaggi di registro formattati verranno archiviati nel file.
Esempio15.Py
Modulo #IMPORTEsegui lo script e visualizza il contenuto di 'logdata.Registra 'File dal terminale.
$ Python Esempio15.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando Logrecord.getMessage ()
Quando qualcosa viene registrato dal logger, l'oggetto logrecocd viene creato automaticamente. La funzione MakerEcord () può essere utilizzata per creare manualmente l'oggetto Logrecord. L'oggetto Logrecord contiene molti attributi e getMessage () funzione. Quando l'oggetto Logrecord viene creato manualmente allora getMessage () Restituisce il messaggio dell'oggetto Logrecord in base agli argomenti passati dall'utente. Il seguente esempio mostra l'uso di getMessage () funzione.
Esempio16.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio16.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando gli attributi Logrecord - Args
args Attributo memorizza gli argomenti passati all'oggetto Logrecord. I valori di args sono uniti con MSG attributo per produrre il valore di Messaggio attributo quando l'oggetto Logrecord crea automaticamente. Il valore dell'attributo di args può essere letto creando manualmente un oggetto Logrecord. Nell'esempio seguente, un oggetto Logrecord chiamato Logrecord viene creato manualmente dai dati definiti dall'utente e il valore dell'argomento è stampato da args attributo.
Esempio17.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio17.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando gli attributi Logrecord - asctime
asctime L'attributo viene utilizzato per archiviare il tempo in cui qualsiasi Logrecord crea. Ha memorizzato la data, ora e orari in millisecondi dopo la creazione di qualsiasi oggetto logger. Il seguente esempio mostra l'uso di questo attributo. Il formato di questo attributo è '%(asctime) s'.
Esempio18.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio18.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Utilizzo degli attributi Logrecord - nome file
nome del file L'attributo viene utilizzato per recuperare la parte del nome file dal percorso. Il seguente esempio mostra l'uso di questo attributo. Il formato di questo attributo è '%(nome file) s'.
Esempio19.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio19.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Utilizzando gli attributi Logrecord - FuncName
funcname L'attributo è recuperare il nome della funzione da dove viene chiamata la registrazione. Il seguente esempio mostra l'uso di questo attributo. Qui, l'oggetto logger viene creato nella funzione, mylog_func (). Il formato di questo attributo è '%(funcname) s'.
Esempio20.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio20.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando gli attributi Logrecord - Lineno
LINENO L'attributo viene utilizzato per recuperare il numero di riga da dove viene chiamata la registrazione. Restituirà un valore numerico. Il seguente esempio mostra l'uso di questo attributo. Il formato di questo attributo è '%(Lineno) s'.
Esempio21.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio21.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando gli attributi Logrecord - Modulo
modulo L'attributo viene utilizzato per recuperare solo il nome file senza un'estensione dal percorso del file. Il seguente esempio mostra l'uso di questo attributo. Il formato di questo attributo è '%(module) s'.
Esempio22.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio22.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando gli attributi Logrecord - Nome
nome L'attributo viene utilizzato per recuperare il nome del logger utilizzato nella funzione getlogger (). Il seguente esempio mostra l'uso di questo attributo. Il formato di questo attributo è '%(name) s'.
Esempio23.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio23.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando gli attributi Logrecord - Pathname
Pathname L'attributo viene utilizzato per recuperare il percorso della posizione del file. Il seguente esempio mostra l'uso di questo attributo. Il formato di questo attributo è '%(pathname) s'.
Esempio24.Py
Modulo #IMPORTEsegui lo script dal terminale.
$ Python Esempio24.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Usando la registrazione.disattivare
La funzione disabilita () viene utilizzata per disabilitare tutta la chiamata di registrazione per il livello specifico. Ad esempio, se viene chiamato con livello di informazioni, tutti i messaggi di registro di informazioni, avviso, errore e critico verranno ignorati per tutti i logger. L'uso di questa funzione è mostrato nel seguente esempio. Il messaggio di avviso è abilitato per il logger predefinito. Quindi, il secondo messaggio di avviso non verrà stampato dopo aver disabilitato il livello di avvertimento.
Esempio25.Py
Modulo #IMPORTINGEsegui lo script dal terminale.
$ Python Esempio25.PyProduzione:
Il seguente output apparirà dopo aver eseguito lo script.
Vai in cima
Le informazioni di registrazione aiutano il programmatore a identificare i vari problemi del codice e risolvere rapidamente il problema. Il programmatore di Python deve imparare le opzioni di registrazione di Python per rendere il loro codice più appropriato. Gli usi di base della registrazione di Python sono mostrati in questo articolo utilizzando 25 esempi diversi. Spero che questo articolo aiuti correttamente i lettori ad applicare i dati di registro nel loro codice Python.