C Logger ist eine einfache und effiziente Logging-Bibliothek für die Programmiersprache C. Sie ermöglicht das Schreiben von Logmeldungen in eine Datei oder auf die Konsole mit unterschiedlichem Detaillierungsgrad und Kontrollmöglichkeiten. In diesem Artikel erfahren Sie, welche Funktionen C Logger bietet, wie Sie es installieren und wie Sie es in Ihren C-Projekten verwenden.
Die Eigenschaften des Cloggers
C logger ist eine schlanke Bibliothek mit nur 500 Zeilen Quellcode. Sie ist mit dem C89-Standard kompatibel und threadsicher. Sie bietet zwei Arten der Protokollierung:
- Konsolenprotokollierung, bei der Protokollmeldungen in der Standardausgabe oder in der Fehlerausgabe angezeigt werden.
- Protokollierung in eine Datei, die Protokollmeldungen in eine Textdatei schreibt, mit automatischer Rotation basierend auf der Dateigröße.

Der c-Logger ermöglicht außerdem die Anpassung der Protokollierung mithilfe einer Konfigurationsdatei, in der Sie das Nachrichtenformat, den Detaillierungsgrad, den Namen der Protokolldatei, die maximale Dateigröße usw. festlegen können.
Wie installiere ich Clogger?
Um C Logger zu installieren, laden Sie einfach den Quellcode aus dem GitHub-Repository herunter und kompilieren Sie ihn mit Ihrem bevorzugten C-Compiler. Zum Beispiel mit gcc:
$ git clone https://github.com/yksz/c-logger.git $ cd c-logger $ gcc -c -o logger.o logger.c $ ar rcs libclogger.a logger.o
Dadurch wird ein statisches Archiv namens libclogger.a erstellt, das Sie mit Ihrem C-Programm verknüpfen können. Sie müssen außerdem die Header-Datei logger.h in Ihre Quelldateien einbinden.

Wie benutze ich den Clogger?
Um C Logger zu verwenden, müssen Sie die Bibliothek zunächst mit der `logger_init` . Übergeben Sie ihr den Namen der Konfigurationsdatei oder `NULL`, wenn Sie die Standardeinstellungen verwenden möchten. Anschließend können Sie mit der `logger` Protokollmeldungen schreiben, indem Sie ihr ein Tag, eine Stufe und eine Nachricht übergeben. Zum Beispiel:
#include "logger.h" int main(void) { /* Initialisiere die Bibliothek mit der config.ini-Datei */ if (logger_init("config.ini") != 0) { fprintf(stderr, "Fehler beim Initialisieren des C-Loggers\n"); return 1; } /* Schreibe eine INFO-Meldung mit dem Tag "main" */ logger("main", LOG_INFO, "Programm gestartet"); /* Schreibe eine ERROR-Meldung mit dem Tag "main" */ logger("main", LOG_ERROR, "Schwerwiegender Fehler"); /* Beende die Bibliothek */ logger_end(); return 0; }

Das Format der Protokollmeldungen hängt von der verwendeten Konfigurationsdatei ab. Standardmäßig hat es folgendes Format:
Nachricht auf Datums-/Zeit-Tag-Ebene
Zum Beispiel :
2023-06-13 02:37:16 main INFO Programmstart 2023-06-13 02:37:16 main ERROR Schwerwiegender Fehler
Das Format kann mithilfe der folgenden Variablen in der Konfigurationsdatei geändert werden:
- %d: das Datum im Format JJJJ-MM-TT
- %t: die Uhrzeit im Format HH:MM:SS
- %c: das Nachrichten-Tag
- %l: die Nachrichtenebene
- %m: die Nachricht
- %n: ein Zeilenumbruch
Wenn wir beispielsweise ein kürzeres Format wünschen, können wir Folgendes verwenden:
[formats] simple = "%t %c %l %m%n"
Welche Detailebenen sind verfügbar?

Der C-Logger bietet fünf Detailstufen für Protokollmeldungen:
- LOG_DEBUG: für Debugging-Meldungen, nützlich für Entwickler.
- LOG_INFO: für informative Meldungen, nützlich für Benutzer.
- LOG_WARN: für Warnmeldungen, nützlich zur Meldung von abnormalen, aber nicht kritischen Situationen.
- LOG_ERROR: für Fehlermeldungen, nützlich, um kritische Situationen zu signalisieren, die die korrekte Funktion des Programms verhindern.
- LOG_FATAL: für schwerwiegende Fehlermeldungen; nützlich, um nicht behebbare Situationen zu signalisieren, die ein Anhalten des Programms erfordern.
Der Detaillierungsgrad der Protokollmeldungen kann über die `log_level` in der Konfigurationsdatei gesteuert werden. Wenn Sie beispielsweise nur ERROR- und FATAL-Meldungen anzeigen möchten, können Sie Folgendes verwenden:
[general] log_level = 3
Die Ebenen sind von 0 bis 4 nummeriert, von der detailliertesten zur am wenigsten detaillierten. Standardmäßig ist die Ebene auf 0 eingestellt, wodurch alle Meldungen angezeigt werden.
Wie kann die Größe der Protokolldatei gesteuert werden?

Mit dem C-Logger können Sie die Größe der Protokolldatei mithilfe der `max_file_size` in der Konfigurationsdatei begrenzen. Wenn die Protokolldatei beispielsweise nicht größer als 1 MB sein soll, können Sie Folgendes verwenden:
[general] max_file_size = 1048576
Die Größe wird in Bytes angegeben. Standardmäßig gibt es keine Größenbeschränkung.
Wenn die Protokolldatei ihre maximale Größe erreicht, erstellt der C-Logger eine neue Datei mit einer numerischen Endung. Wenn die Protokolldatei beispielsweise den Namen log.txt , wird die erste Datei log.txt.1 , dann log.txt.2 usw. Die maximale Anzahl der erstellten Dateien wird durch die `max_file_count` in der Konfigurationsdatei festgelegt. Um beispielsweise maximal 10 Protokolldateien zu speichern, können Sie Folgendes verwenden:
[general] max_file_count = 10
Standardmäßig gibt es keine Begrenzung der Anzahl der Dateien.
Häufig gestellte Fragen
Worin besteht der Unterschied zwischen dem C-Logger und anderen Logging-Bibliotheken wie log4c oder nglogc?
Der C-Logger zeichnet sich durch seine Einfachheit und seinen geringen Ressourcenverbrauch aus. Obwohl er nicht so viele Funktionen wie einige umfangreichere Bibliotheken bietet, deckt er die wesentlichen Anforderungen an die Protokollierung ab. Er ist zudem mit dem C89-Standard kompatibel und threadsicher.
Wie kann ich Protokollmeldungen in einem anderen Format als Text anzeigen?
Der C-Logger unterstützt Logmeldungen nur im Textformat. Wenn Sie ein anderes Format wie JSON oder XML verwenden möchten, müssen Sie eine eigene Formatierungsfunktion schreiben und diese innerhalb der Logger .
Wie kann ich Protokollmeldungen anhand von Tags oder Ebenen filtern?
Der C-Logger bietet keine erweiterten Filterfunktionen für Logmeldungen. Sie können lediglich die allgemeine Meldungsebene über die `log_level` `logger` aufrufen .
Wie kann ich Protokollmeldungen an ein anderes Ziel als die Konsole oder eine Datei senden?
Der C-Logger unterstützt nur die Konsole und Dateien als Ziele für Logmeldungen. Wenn Sie Meldungen an ein anderes Ziel senden möchten, beispielsweise an eine Datenbank oder einen Webdienst, müssen Sie eine eigene Sendefunktion schreiben und diese innerhalb der Logger- .
Wie kann ich den C-Logger debuggen, wenn ein Problem auftritt?
`logger_debug`- Funktion , die Informationen über den internen Zustand der Bibliothek anzeigt. Sie können diese jederzeit aufrufen, um zu überprüfen, ob der C-Logger korrekt funktioniert.
Abschluss
Clogger ist eine einfache und effiziente Logging-Bibliothek für die Programmiersprache C. Sie ermöglicht das Schreiben von Logmeldungen in eine Datei oder auf die Konsole mit unterschiedlichem Detaillierungsgrad und Kontrollmöglichkeiten. Installation und Anwendung sind unkompliziert, und die Bibliothek lässt sich über eine Konfigurationsdatei anpassen. Clogger basiert auf objektorientierten Programmierprinzipien , wodurch sich Logger-Objekte mit spezifischen Eigenschaften und Methoden erstellen lassen. Clogger ist die ideale Lösung für Entwickler, die ihren C-Projekten problemlos Logging-Funktionalität hinzufügen möchten.
![[GetPaidStock.com]-648cc8b4ec663](https://tt-hardware.com/wp-content/uploads/2023/06/GetPaidStock.com-648cc8b4ec663-696x464.jpg)


