Python Syslog -Protokollierung

Python Syslog -Protokollierung
Die Python -Funktion von „Syslog -Protokollierung“ kann dazu führen, dass jeder System -Logger eine serielle Nachricht von dieser Funktion empfängt. Wenn sich die Software in der Position befindet, wird der Logger die funktionierenden Ereignisse beachten. Hier ist das alternative Schwerpunkt in Syslog, das den Loginformationen von Mengen als Hauptpriorität entspricht. Im Wesentlichen können wir sagen, dass die Syslog -Protokollierung in Python es den Netzwerkkomponenten ermöglicht. Es wurde in erster Linie entwickelt und erstellt, um die Überwachungsnetzwerkegeräte zu ermöglichen.

Eine Syslog -Schnittstelle kann von den Systemen verwendet werden, um die Warnmeldungen unter verschiedenen Umständen zu übertragen. Die tatsächliche Methode zur Überwachung der von Software ergriffenen Aktionen für die Erstellung, den Betrieb und die Diagnose der Software -Protokollierung ist entscheidend. Es gibt relativ wenige Chancen, dass wir die Quelle des Problems finden würden, wenn unsere Software fehlschlägt und wir die ausreichenden Protokollierungsdatensätze nicht beibehalten. Bestimmte Programmierer nutzen die Idee, die Sätze zu veröffentlichen, um zu prüfen, ob sie separat implementiert wurden oder ob ein Fehler abgebildet ist. Das Drucken ist jedoch kein kluger Schritt. Für grundlegende Skripte könnte es die Antwort auf unsere Probleme sein. Die Drucklösung wird jedoch für komplexe Programme kurz vorgehen.

So implementieren Sie Syslog -Protokollierung in Python

Eine etablierte Python -Programmiersprache verfügt über ein Paket namens Protokollierung, mit dem die Aktualisierungen der Statusnachrichten in Dateien oder andere Ausgabeblüsse veröffentlicht werden können. Der Datensatz kann die Details enthält, welcher Teil des Programms ausgeführt wird und welche Probleme auftreten. Lassen Sie uns mit der Implementierung des Python -Code für Syslog -Protokollen beginnen, bei dem wir ein Beispiel nehmen, um ihn besser zu erklären. Unser Code für Python importiert mit dem Importieren einiger Bibliotheken, in denen wir die "Protokollierungs" -Bibliothek zum ersten Mal importieren, da wir das Protokollierungsphänomen in unserem Artikel ausführen.

Danach importieren wir die „Protokollierung.Handlerbibliothek für jeden Fall, der einen Fehler verursachen kann. Die dritte Bibliothek, die wir importieren.Handler “, um die Protokollierungsinteraktion mit unserem Betriebssystem durchzuführen.

In der letzten Bibliothek importieren wir die "Formatiererin" aus der interaktiven Datei "Protokollierung" von Python von Python. Nach allen Bibliotheken definieren wir nun eine neue Funktion des Namens „Sysmain“, die als unsere Hauptfunktion des Programmcode bezeichnet werden kann. Jetzt erstellen wir eine Speicherzuweisung des Namens "sys_logger" und weisen die Funktion der „Protokollierung zu.GetLogger () "Funktion und gewähren Sie ihm die Anweisung" Bester Logger ". Danach verwenden wir den „sys_logger.Setlevel (Protokollierung.Debugg) “, um das Niveau für das System einzurichten, um mit dem Protokollierungsfehler zu interagieren, der während seines Protokollierungsprozesses auftritt, um damit umzugehen.

In diesem Schritt erstellen wir jetzt die "sys_handler" und weisen ihn als "syslogHandler ()" -Funktion zu. Anschließend bieten wir den Weg unseres Systems zusammen mit einigen interaktiven Dateien, die sich auf die Anmeldung beziehen.

Nachdem wir den Systemadressweg für „Syslog -Protokollierung“ zugewiesen haben, verwenden wir den „sys_logger.addHandler () ”-Funktion und rufen Sie die Funktion„ sys_handler “im" sys_logger "auf.addHandler () ”Funktion. Wir erstellen eine neue Funktion und nennen sie als „logging_format ()“ und weisen die Protokollierungsnachricht und den Dateinamen zusammen mit dem Ebenennamen zu. Jetzt nehmen wir das „sys_handler.SetFormatter () ”-Funktion und Bereitstellung der Funktion„ Logging_Format “für die Formatierfunktion.

Für die letzte Funktion verwenden wir den „sys_logger.debug () “und gewähren ihn als Wert als Aussage von„ My Python!!”. Anschließend rufen wir die Hauptfunktion mit der Klausel „if“ auf und geben die Hauptfunktion im letzten "sysmain ()" zurück, um den Protokollierungsprozess zu unterziehen.

Der Code für die „Syslog -Protokollierung“ ist im Folgenden im Textformular bereitgestellt, damit die anderen Benutzer ihn selbst implementieren können:

Code:

Protokollierung importieren
Protokollierung importieren.Handler
vom Protokollieren.Handler importieren sysloghandler
Aus dem Protokollierung des Importformaters
Def sysmain ():
Sys_logger = Protokollierung.getLogger ('bester logger')
Sys_logger.Setlevel (Protokollierung.DEBUGGEN)
Sys_handler = syslogHandler (facility = syslogHandler.Log_daemon,
Adresse = '/user/aqsayasin')
Sys_logger.addHandler (sys_handler)
Logging_Format = '[%(LevelName) S]%(Dateiname) S:%(Funcname) S:%(Leineno) d \
"%(Mitteilungen"'
Sys_handler.SetFormatter (Formatter (fmt = logging_format))
Sys_logger.Debugg ('mein Python!!'))
Wenn __name__ == '__main__':
Sysmain ()

Nach Abschluss der Codearbeit betrachten wir die Protokollierung des Systems, das das aktuelle Datum von „Nov“ als Monat, „21“ als Datum und „01:05:12“ als Zeit unseres Betriebssystems anzeigt. Unser Systembenutzername „Aqsayasin“ wird auch mit dem Python -Detail von „9851“ zur Verfügung gestellt und die Details entlang des „Syslogs“ über die Hauptfunktion mit unserer Aussage auf dem Syslog „My Python“ debuggen!!”.

Die erste Zeile dieses Programms ähnelt dem, den wir früher in Python Code ausführen,. Es exportiert das Formatierer zusammen mit den Bibliotheken "Protokollierung", "Handler" und "Sysloghandler". Jetzt fügen wir den ähnlichen "syslogHandler" hinzu, den wir früher in den Code in einer "main ()" -Funktion hinzugefügt haben, nachdem wir einen Protokoller erstellt und seine Standardniveau auf "Debuggen" festgelegt haben. Wir schreiben dann ein Formatierer und fügen es in den Logger ein. Wir können sehen, wie der Teil der gesamten Unternehmensfunktionen diese Benachrichtigung mit dem Formatierungstext kontrastiert. Die Zeichenfolge zeigt in der Bildschirmprotokollierung den „Levelname“, „Dateiname“, „Funcname“, „Lineno“ und „Nachricht“ an:

Die Nachricht wird angezeigt, wie unsere angegebene Anweisung im „Syslog angezeigt wird.Py ”Hauptfunktion,„ Mein Python!!Zusammen mit der Funktion „sysmain ()“.

Zuletzt haben wir den „LevelName“, der dem „Debug“ des Protokollsystems ausgeglichen ist. Wir können den Pfad, den Funktionsnamen und die Zeilennummer in den verbleibenden Teilen der Nachricht sehen, mit der wir genau verstehen können, wo die Protokollnachricht stammt. Das Messaging -Level ist zu Beginn von so etwas wie dem Buchstaben von Square Brackets angegeben. Der "[Debug]" des Textausdrucks einer Protokollierungsnachrichtsstufe wird durch "[%(LevelName) s]" ersetzt.

Lassen Sie uns nun versuchen, ein weiteres Beispiel für das Python -Thema der „Syslog -Protokollierung“ zu importieren, indem wir drei Bibliotheken importieren, die wir in den vorherigen Beispielen verwendet haben, die „Protokollierung“ sind, „Protokollierung.Handler “und„ Sys “. Nachdem wir diese drei Bibliotheken erhalten haben, erstellen wir eine Funktion von „sys_logger“ und weisen die „Protokollierung zu.getLogger () ”Funktion. Die zweite Funktion des „sys_loggers.SETLEVEL () ”-Funktion bietet die„ Protokollierung.Info “Befehl darin.

Anschließend weisen wir die Protokollierungsadresse unserer lokalen Host -Adresse zu, die „9238“ der neuen Funktion ist, die „Syslogging“ ist. Wir nennen dann das „sys_logger.addHandler () ”Funktion für Ausnahmebehandlungsfälle, die in„ Syslogging “auftreten. Zuletzt verwenden wir die Funktion „print ()“, um das Ergebnis der Funktionsprotokollierung anzuzeigen und das „sys_logger“ aufzurufen.Handler -Funktion in der Funktion „print ()“.

Das zweite Beispiel für die in Python implementierte „Syslog -Protokollierung“ ist in Textform in der folgenden Form angegeben:

Code:

Protokollierung importieren
Protokollierung importieren.Handler
Importsystem
Sys_logger = Protokollierung.getLogger ()
Sys_logger.Setlevel (Protokollierung.DIE INFO)
syslogging = Protokollierung.Handler.SyslogHandler (adress = ("localhost", 9238))
Sys_logger.AddHandler (Syslogging)
print (sys_logger.Handler)

Wenn der Code abgeschlossen ist, kehrt er mit einer Ausgabe -Eingabeaufforderungsnachricht zurück, während das Programm die Anweisung beendet hat, um das laufende Programm abzumelden. Wenn der Code aufhört und wir ihn fortsetzen möchten, können wir ein anderes Systemprotokoll starten. Wenn wir die Konsolenanwendung beenden möchten, drücken wir die Taste „Eingabetaste“ und protokolliert die aktuelle Anwendungskonsole.

Abschluss

In diesem Artikel haben wir das Thema „Syslog -Protokollierung“ der Python -Sprache diskutiert, indem wir die Code -Beispiele und die erforderlichen wichtigen Erklärungen implementieren. Wir haben zwei Hauptbeispiele für dieses Thema nach bestem Wissen. Das erste Beispiel machte einige Debugging -Handhabung für das Systemprotokoll, das zusammen mit den Details des Funktionsnamens und des Benutzerwegs bereitgestellt wird. Während die zweiten Exmples das Konzept der Konsolendatei verwendeten, das das Phänomen beendete und die Schaltfläche „Eingeben“ drückte, um die Systemprotokollierung zu protokollieren.