AC -Protokollierungsbibliothek für Hochleistungen und ein reichhaltiges Feature -Set.
한국어 | 简体中文
Schlüsselmerkmale | Erstellen und installieren | Grundnutzung | Beitragen
Stilllos verfügt über viele Funktionen, die sich in C schnell und einfach anmelden:
Ein primäres Ziel dieser Bibliothek ist es, einer Vielzahl von Protokollzielen eine konsistente Protokollierungsschnittstelle bereitzustellen. Dies bedeutet, dass Sie sich darauf konzentrieren können, Ereignisse zu definieren und wohin sie gehen sollen, ohne andere SDKs zu finden oder Daemons und Plugins hinzuzufügen, um sie dorthin zu bringen, wo Sie möchten. Stilllos kann Protokolle schreiben, um:
Sehen Sie nicht, was Sie brauchen? Erstellen Sie ein Problem mit Ihrer Anfrage und wir werden es in unsere Roadmap zusammenarbeiten!
Stilllos erfordert nur CMake und eine von CMake unterstützte Build-Toolchain (wie GCC oder Visual Studio).
# cloning the latest version of the source tree
git clone [email protected]:goatshriek/stumpless.git
# creating a new build directory
mkdir build
cd build
# configuring the new build
cmake ../stumpless
# building stumpless (with 4 threads - adjust as desired)
cmake --build . --parallel 4
# install the library (you probably need sudo to do this)
sudo cmake --install .Weitere Informationen zum Erstellen und Installieren von Stuben in verschiedenen Umgebungen und/oder mit anderen Toolchains finden Sie in den Installationsanweisungen.
Der einfachste Weg, um loszulegen, besteht darin, die stumplog -Funktion als direkter Ersatz für die syslog -Funktion der Standardbibliothek zu verwenden:
// if you're used to doing this:
syslog ( LOG_INFO | LOG_USER , "My message #%d" , count );
// then you can start by changing to this:
stumplog ( LOG_INFO | LOG_USER , "My message #%d" , count ); Wenn Sie kein Ziel geöffnet haben, protokolliert dies Nachrichten für die Standardziel für die Plattform: Unter Linux ist dies /dev/log auf einem Mac -System /var/run/syslog und auf einem Windows -Computer das Windows -Ereignisprotokoll. Wenn Sie ein Ziel oder sogar ein paar öffnen, bevor Sie stumplog anrufen, werden Protokolle an das zuletzt geöffnete Ziel gesendet.
Wenn Sie einen noch kürzeren Funktionsaufruf wünschen, können Sie die stump verwenden, um eine Nachricht an das aktuelle Ziel zu senden. Sie können auch Formatspezifizierer verwenden, wie Sie es mit printf tun würden:
stump ( "Login attempt failure #%d for user %s" , count , username ); Wenn Sie keine Formatspezifizierer benötigen, verwenden Sie eine der _str -Varianten: Es ist sowohl schneller als auch sicherer!
stump_str ( "Login failure! See structured data for info." ); Wenn Sie ein bestimmtes Ziel öffnen möchten, anstatt die Standardeinstellung zu verwenden, öffnen Sie einfach das, das Sie benötigen, und senden Sie Nachrichten. Zum Beispiel bei einer Datei namens example.log anmelden:
target = stumpless_open_file_target ( "example.log" );
// uses the last opened target by default
stump ( "Login attempt failure #%d for user %s" , count , username );Das Senden von Nachrichten über das Netzwerk an so etwas wie Splunk oder Rsyslog ist genauso einfach:
target = stumpless_open_udp4_target ( "send-to-splunk-example" ,
"mylogserver.com" ); // or use an IP
stump ( "Login attempt failure #%d for user %s" , count , username );Wenn Sie mehrere Ziele haben, können Sie Nachrichten an ein gewähltes Ziel wie folgt senden:
stumpless_add_message ( target ,
"Login attempt failure #%d for user %s" ,
count ,
username );Es ist üblich, Schweregrade direkt in Protokollierungsaufrufen anzugeben. Daher bietet Stoleme einige Makrofunktionen, um diese weniger ausführliche und effizienter zu gestalten. Um beispielsweise Nachrichten mit einer Schwere von Informationen zu protokollieren, können Sie dies tun:
stump_i ( "this gets logged as an info message" ); Und wenn Sie in jeder Nachricht auch Informationen zur Quelldatei, Zeilennummer und Funktionsname anzeigen möchten, können Sie _t verwenden (das 'T' ist für TRACE):
stump_t ( "this includes source info" ); Die Verwendung dieser Funktionen hat den zusätzlichen Nutzen, dass sie zum Kompilieren von Zeiten entfernt werden können, indem einfach die Symbole STUMPLESS_ENABLE_UPTO oder STUMPLESS_DISABLE_DOWNTO definiert werden. Dies macht es einfach, die Protokollierungsstufen zwischen Builds zu ändern, beispielsweise, um Produkt- und Debug -Versionen ohne Unterschiede in ihrem Quellcode zu haben.
// be sure to define this before stumpless.h gets included
#define STUMPLESS_ENABLE_UPTO_INFO
// ...
// this log will go through just fine
stump_i ( "I'm doing that thing you asked" );
// this debugging message is completely removed: no runtime impact whatsoever
stump_d ( "DEBUG info: %d, %d, %s" , thing_1 , thing_2 , stringy_thingy );Schauen Sie sich die Header in Stoleme/Level an, um die vollständige Liste der Abkürzungsfunktionen der Schwere oder im Beispiel der Schweregradebene anzuzeigen, um ein vollständiges Programm in Aktion anzuzeigen.
Detailliertere Beispiele für die obigen Szenarien, die Verwendung bestimmter Zieltypen, die Umgang mit komplizierteren Nachrichtenstrukturen und mehr lesen Sie die Beispiele. Dazu gehören angegebene Beispielcode -Dateien zum Kompilieren, Ausführen und Ändern, um Sie in den Griff zu bekommen.
Beachten Sie ein Problem oder haben Sie eine Funktionsanforderung? Erstellen Sie einfach ein Problem mit einem der Vorlagen, und wir werden so schnell wie möglich antworten. Weitere Informationen zu den verschiedenen Möglichkeiten, die Sie der Open -Source -Community zurückgeben können, können Sie sich auch die Beitragsrichtlinien des Projekts ansehen!
Wenn Sie tatsächlich Code schreiben oder selbst ein Update erstellen möchten, sehen Sie sich den Entwicklungshandbuch an, um eine detaillierte Ausrichtung zu erhalten. Es gibt einige Optionen, die auf Ihrer Erfahrung und Ihrer Vertrautheit mit Beiträgen basieren.
Die erste Möglichkeit besteht darin, die Liste der Probleme zu durchsuchen, die mit dem Label Good erster Ausgabe markiert sind. Diese Probleme werden als kleine, aber aussagekräftige Menge an Arbeit ausgewählt und enthalten Details zu dem allgemeinen Ansatz, den Sie zur Vervollständigung verfolgen können. Sie sind ein großartiger Ausgangspunkt, wenn Sie nur die Gewässer dieses Projekts oder Open -Source -Beitrags im Allgemeinen testen möchten.
Erfahrene Entwickler werden es möglicherweise vorziehen, die vollständige Liste der Probleme im Projekt sowie die Roadmap zu betrachten. Wenn ein Artikel Ihr Interesse weckt, geben Sie einen Kommentar in das bestehende Problem ab oder öffnen Sie einen neuen, wenn es noch nicht existiert, und geben Sie Ihre Absicht an, daran zu arbeiten, damit andere eine Möglichkeit haben, zu wissen, dass er im Gange ist.
Wenn Sie neugierig sind, wie etwas in Stolpern funktioniert, das hier nicht erläutert wird, können Sie den entsprechenden Abschnitt der Dokumentation überprüfen, der im Ordner docs gespeichert ist. Ordner im Repository enthalten ihre eigenen ReadMe -Dateien, die beschreiben, was sie enthalten, und andere relevante Informationen. Die Dokumentation für jede Funktion wird auch auf der Projektwebsite sowohl für die C -Bibliothek als auch für die anderen Sprachbindungen wie C ++ gehostet.
Stilllos enthält auch Dokumentation in lokalen Installationen in Form von man . Sobald Sie die Bibliothek installiert haben, können Sie die Dokumentation für eine beliebige Header -Datei (und die Funktionen, die sie enthält) überprüfen, indem Sie den Mann mit dem Namen des Headers mit Verzeichnissen ausgeführt haben, die durch Unterstriche ersetzt wurden, z. B. man stumpless_log.h um Dokumentation für Funktionen zu sehen, die einfache Zeichenfolgenmeldungen angeben.
Es gibt auch viele Möglichkeiten, wie Sie sich an das Projektteam und die breitere Community wenden können, um Unterstützung zu erhalten.