So Erstellen Sie Protokolle

Inhaltsverzeichnis:

So Erstellen Sie Protokolle
So Erstellen Sie Protokolle

Video: So Erstellen Sie Protokolle

Video: So Erstellen Sie Protokolle
Video: Protokoll schreiben I musstewissen Deutsch 2024, Kann
Anonim

Eine der Hauptmethoden zur Diagnose von Fehlfunktionen beim Betrieb von Software, die bereits auf dem Computer des Benutzers ausgeführt wird, besteht darin, Ereignisprotokolle - Protokolle - zu führen. Typischerweise zeichnen sie Informationen zu den Starts sowie im Falle eines kritischen Fehlers wichtige Informationen über den Zustand des Prozesses und der Systemumgebung auf. Sie können Protokolle sowohl mit eigenen Mitteln als auch mit speziellen Diensten von Betriebssystemen erstellen.

So erstellen Sie Protokolle
So erstellen Sie Protokolle

Es ist notwendig

  • - Übersetzer aus der verwendeten Programmiersprache;
  • - möglicherweise ein Windows-Plattform-SDK;
  • - möglicherweise ein Entwicklungspaket für glibc.

Anleitung

Schritt 1

Analysieren Sie die Nutzungsbedingungen und erstellen Sie die Anforderungen für das entwickelte Subsystem, die Komponente oder die Bibliothek, die Protokolle erstellen. Beantworten Sie die Fragen dazu, auf welcher Plattform oder welchen Plattformen es betrieben werden soll und wie seine API sein wird.

Schritt 2

Erstellen Sie in Übereinstimmung mit den identifizierten Funktionsmerkmalen und der bereitgestellten API eine Vorlage für das Protokollierungs-Subsystem. Beginnen Sie mit der Implementierung seiner Funktionalität.

Schritt 3

Die einfachste Option für die Protokollierung besteht darin, Dateien unabhängig an einem von der Anwendungskonfiguration bestimmten Speicherort zu erstellen und dann Daten in einem beliebigen Format darauf zu schreiben. Verwenden Sie C-Standardbibliotheksfunktionen (fopen, fclose, fwrite), C++-Standardbibliotheksstreamobjekte (ofstream), verwendete Framework-Klassen (wie CFile, QFile) oder Betriebssystem-API-Funktionen (CreateFile, WriteFile unter Windows).

Schritt 4

Implementieren Sie die Protokollierung mithilfe der Syslog-API auf UNIX-kompatiblen Betriebssystemen. Die Syslog-API-Funktionen sind in der Header-Datei syslog.h deklariert. Verbinden Sie es an der richtigen Stelle im Quellcode Ihres Projekts.

Schritt 5

Stellen Sie mit dem Openlog-Funktionsaufruf eine Verbindung zum Syslog-Dienst her. Als Parameter übergeben Sie ihm einen Zeiger auf einen String, der den Bezeichner der schreibenden Anwendung oder Komponente, Optionsflags und eine Ereignismaske enthält, die an das Protokoll übergeben werden sollen. Verwenden Sie Aufrufe der syslog- und vsyslog-Funktionen, um dem Protokoll Einträge hinzuzufügen. Rufen Sie die Closelog-Funktion auf, um die Verbindung zum Dienst zu trennen. Ein einfaches Beispiel für Syslog-Code könnte sein: openlog ("prefix", LOG_NDELAY | LOG_CONS | LOG_PID, LOG_LOCAL1); syslog (LOG_INFO, "% s", "Info"); syslog (LOG_NOTICE, "% s", " Notice "); closelog (); Es ist sinnvoll, sich beim Initialisieren der Anwendung mit Syslog zu verbinden und beim Herunterfahren zu trennen.

Schritt 6

Verwenden Sie auf Windows-Betriebssystemen die EventLog-API, um Einträge zu den Systemprotokollen hinzuzufügen. Rufen Sie RegisterEventSource auf, um den Protokolldeskriptor auf dem angegebenen Computer abzurufen. Verwenden Sie dieses Handle beim Aufrufen der ReportEvent-Funktion, die in das Protokoll schreibt. Wenn Sie fertig sind, rufen Sie DeregisterEventSource auf, um die Verbindung zu schließen und die von RegisterEventSource zugewiesenen Ressourcen freizugeben. Das einfachste Beispiel für die Arbeit mit EventLog könnte sein: HANDLE h =:: RegisterEventSource (NULL, "AnySource"); ASSERT (h! = NULL);:: ReportEvent (h, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 3, 0, "Text1Text2Text3", NULL);:: DeregisterEventSource (h); Wie bei Syslog ist es sinnvoll, RegisterEventSource aufzurufen call beim Start und DeregisterEventSource beim Beenden der Anwendung.

Empfohlen: