Registrazione di Python Syslog

Registrazione di Python Syslog
La funzione Python di "Syslog Logging" può far sì che ciascun logger di sistemi riceva un messaggio seriale da questa funzione. Quando il software è in posizione in esecuzione, il logger tiene nota degli eventi funzionanti. Ecco l'argomento di enfasi alternativa in syslog che equivale a registrare le informazioni degli insiemi come priorità principale. In sostanza, possiamo dire che la registrazione di syslog in Python consente ai componenti di rete di connettersi con un host di registrazione utilizzando un formato di messaggi comune. È stato sviluppato e creato principalmente per consentire i dispositivi di networking di monitoraggio.

Un'interfaccia syslog può essere utilizzata dai sistemi per trasmettere i messaggi di avviso in una varietà di circostanze distinte. Il metodo effettivo per monitorare le azioni intraprese dal software per la creazione, il funzionamento e la diagnosi di registrazione del software è cruciale. Ci sono relativamente poche probabilità che troveremmo la fonte del problema se il nostro software fallisce e non manteniamo i record di registrazione sufficienti. Alcuni programmatori utilizzano l'idea di pubblicare le frasi per verificare se sono stati implementati separatamente o se è emerso un errore. Tuttavia, la stampa non è una mossa intelligente. Per gli script di base, potrebbe essere la risposta ai nostri problemi. Tuttavia, la soluzione di stampa non sarà breve per programmi complessi.

Come implementare la registrazione di syslog in Python

Un linguaggio di programmazione Python consolidato ha un pacchetto chiamato registrazione che consente di pubblicare gli aggiornamenti del messaggio di stato a file o altri flussi di outputing. Il record può fornire i dettagli di quale parte del programma viene eseguita e i problemi che emergono. Iniziamo a implementare il codice Python per la registrazione di syslog in cui prendiamo un esempio per spiegarlo in modo migliore. Il nostro codice per Python inizia importando alcune librerie in cui importa per la prima volta la libreria di "registrazione" poiché stiamo eseguendo il fenomeno di registrazione nel nostro articolo.

Successivamente, importiamo la "registrazione.Biblioteca di gestori ”per qualsiasi caso che possa causare errori in modo da poter affrontare e risolvere eventuali casi di eccezione per errori. La terza biblioteca che importiamo è "sysloghandler" dalla famiglia di "registrazione.gestori "per fare l'interazione di registrazione con il nostro sistema operativo.

Nell'ultima biblioteca, importiamo il "formatter" dalla famiglia "registrazione" del file interattivo di Python. Dopo tutte le librerie, ora definiamo una nuova funzione del nome "Sysmain" che potrebbe essere definita la nostra funzione principale del codice del programma. Ora creiamo un'allocazione di memoria del nome "sys_logger" e assegniamo la funzione della "registrazione.getLogger () "e concedergli la dichiarazione di" miglior logger ". Successivamente, usiamo il "sys_logger.setLevel (registrazione.Debug) "per impostare il livello affinché il sistema interagisca con l'errore di registrazione che si verifica durante il suo processo di registrazione per affrontarlo.

In questo passaggio, ora creiamo la funzione "sys_handler" e la assegniamo come una funzione "sysloghandler ()". Quindi, forniamo il percorso del nostro sistema insieme ad alcuni file interattivi correlati all'accesso.

Dopo aver assegnato il percorso dell'indirizzo di sistema per "Syslog Logging", utilizziamo "Sys_logger.funzione addhandler () "e chiama la funzione" sys_handler "all'interno della" sys_logger.funzione addhandler () ". Creiamo una nuova funzione e la chiamiamo come "logging_format ()" e assegniamo il messaggio di registrazione e il nome del file insieme al nome del livello. Ora prendiamo il "sys_handler.Funzione setFormatter () "e fornire la funzione" logging_format "alla funzione formatter.

Per l'ultima funzione, utilizziamo il "sys_logger.Debug () "e concederlo come valore come dichiarazione di" My Python!!". Quindi, chiamiamo la funzione principale usando la clausola "if" e restituiamo la funzione principale nell'ultimo "sysmain ()" per sottoporsi al processo di registrazione.

Il codice per la "registrazione syslog" è fornito nel seguente modulo di testo affinché gli altri utenti possano implementarlo da soli:

Codice:

Registrazione di importazione
Registrazione di importazione.gestori
dalla registrazione.I gestori importano sysloghandler
dal formatter di importazione di registrazione
def sysmain ():
Sys_logger = registrazione.getLogger ("Best Logger")
Sys_logger.setLevel (registrazione.Debug)
Sys_handler = syslogHandler (Facility = syslogHandler.Log_daemon,
indirizzo = '/utenti/aqsayasin')
Sys_logger.AddHandler (sys_handler)
logging_format = '[%(levelname) s]%(nome file) s:%(funcname) s:%(lineno) d \
"%(messaggio) s" '
Sys_handler.setFormatter (formatter (fmt = logging_format))
Sys_logger.Debug ('My Python!!')
Se __Name__ == '__main__':
Sysmain ()

Dopo aver completato il lavoro del codice, esaminiamo la registrazione del sistema che mostra la data attuale di "Nov" come mese, "21" come data e "01:05:12" come tempo del nostro sistema operativo. Il nostro nome utente del sistema, "Aqsayasin", è anche fornito con i dettagli Python di "9851" e debug i dettagli lungo il "syslog" sulla funzione principale con la nostra dichiarazione stampata sul syslog che è "il mio Python!!".

La prima riga di questo programma è simile a quella che eseguiamo in precedenza nel codice Python. Esporta il formatter insieme alle librerie "Registrazione", "gestori" e "sysloghandler". Ora, aggiungiamo il simile "sysloghandler" che abbiamo aggiunto in precedenza nel codice all'interno di una funzione "main ()" dopo aver creato un logger e aver impostato il suo livello predefinito su "debug". Quindi scriviamo un formatter e lo includiamo con il logger. Possiamo vedere come la parte delle funzioni aziendali complessive contrastando questa notifica con il testo di formattazione. La stringa visualizza "LevelName", "FileName", "FuncName", "Lineno" e "Message" nella registrazione dello schermo:

Il messaggio viene visualizzato come mostra la nostra istruzione fornita nel "syslog.Funzione principale Py "," My Python!!", Insieme al ritorno della funzione" sysmain () ".

Infine, abbiamo il "nome di livello" equalizzato al "debug" sul sistema di registro. Possiamo vedere il percorso, il nome della funzione e il numero di riga nelle parti rimanenti del messaggio che ci consente di comprendere esattamente dove viene originato il messaggio di registro. Il livello di messaggistica è indicato all'inizio di qualcosa come la lettera di Square Balliets. Il "[debug]" dell'espressione testuale di un livello di messaggio di registrazione viene sostituito con "[%(levelname) s]".

Ora, proviamo ad implementare un altro esempio per l'argomento Python di "Syslog Logging" importando tre librerie che abbiamo usato negli esempi precedenti che stanno "registrando", "registrazione.gestore "e" sys ". Dopo aver ottenuto queste tre librerie, creiamo una funzione di "sys_logger" e assegniamo la "registrazione.funzione getLogger () ". La seconda funzione di "sys_logger.La funzione setLevel () "fornisce la" registrazione.Comando Info ”in esso.

Quindi, assegniamo l'indirizzo di registrazione del nostro indirizzo host locale che è "9238" nella nuova funzione creata che è "syslogging". Chiamiamo quindi il "sys_logger.Funzione AddHandler () "per i casi di gestione delle eccezioni che si verificano in" Syslogging ". Infine, utilizziamo la funzione "print ()" per visualizzare il risultato di registrazione della funzione e chiarire il "sys_logger.funzione gestore "all'interno della funzione" print () ".

Il secondo esempio della "registrazione syslog" che abbiamo implementato in Python è riportato nella seguente forma testuale:

Codice:

Registrazione di importazione
Registrazione di importazione.gestori
Import sys
Sys_logger = registrazione.getLogger ()
Sys_logger.setLevel (registrazione.INFORMAZIONI)
syslogging = registrazione.gestori.SyslogHandler (indirizzo = ("localhost", 9238))
Sys_logger.AddHandler (syslogging)
Stampa (sys_logger.gestori)

Quando il codice è completato, restituisce con un messaggio prompt di output mentre il programma termina l'istruzione per interrompere il programma in esecuzione. Se il codice si interrompe e vogliamo continuare, possiamo avviare un altro registro di sistema. Se vogliamo uscire dall'applicazione della console, premi il pulsante "Invio" e il sistema interrompono la console dell'applicazione corrente.

Conclusione

In questo articolo, abbiamo discusso dell'argomento della "registrazione syslog" della lingua Python implementando gli esempi di codice e le necessarie spiegazioni vitali. Abbiamo mantenuto due grandi esempi per questo argomento in base al meglio delle nostre conoscenze. Il primo esempio ha fatto un po 'di gestione del debug per il registro di sistema fornito insieme ai dettagli del nome della funzione e del percorso dell'utente. Mentre i secondi exmles usavano il concetto di file console che usciva dal fenomeno e premendo il pulsante "immettere" per registrare la registrazione del sistema.