98 Repos
Libraries for structured and efficient application logging.
Explore 98 awesome GitHub repositories matching part of an awesome list · Logging. Refine with filters or upvote what's useful.
Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON formatting. It serves as a pluggable logging framework providing a thread-safe event logger with configurable mutex locking to manage concurrent writes across multiple goroutines. The project distinguishes itself through a pluggable hook system that routes log entries to external services or custom destinations. It also features a contextual logger capable of attaching persistent metadata and request-scoped fields to entries to improve traceability. The framework covers broad ob
Structured logging library.
Winston is a versatile logging library for Node.js designed to record system events and metadata. It functions as a multi-transport log manager that routes data to various destinations and a structured log formatter that transforms entries into JSON or plain text. The project is distinguished by its pluggable transport architecture, which decouples the logging interface from delivery mechanisms. This allows for the creation of custom transport extensions and the use of hierarchical logger instances to inherit configurations while attaching persistent metadata to downstream messages. The libr
Multi-transport asynchronous logging.
Zap is a high-performance structured logging library designed for production environments. It provides a framework for generating machine-readable logs that minimize memory overhead and CPU usage, allowing for efficient event analysis and system monitoring. The library distinguishes itself through a focus on zero-allocation logging, utilizing buffer pooling to reduce garbage collection pressure during high-frequency operations. It enforces strict data typing through compile-time checks and structured field encoding, which ensures consistent output without the performance cost of reflection-ba
Fast, structured, leveled logging.
Loguru is a Python logging library and thread-safe framework designed for recording system events and diagnostic messages. It functions as a structured logging tool that can serialize messages into JSON strings with metadata for automated parsing and analysis. The library includes a specialized exception tracker that captures unhandled crashes across main and background threads, rendering detailed stack traces that include local variable values. It further distinguishes itself through a unified routing pipeline that can intercept messages from the standard library logging module and dispatch
Library for simplified, enjoyable logging.
Pino is a high-performance logging library for Node.js applications designed to minimize overhead and prevent blocking the main event loop. It generates machine-readable logs using newline-delimited JSON, facilitating efficient ingestion and analysis by external monitoring and log aggregation platforms. The library distinguishes itself by offloading log processing and formatting to worker threads, ensuring that heavy logging tasks do not impact application responsiveness. It also provides a decoupled command-line utility that transforms structured production logs into human-readable text, sim
High-performance JSON logger.
Zerolog is a structured logging library for Go designed for high-performance event capture and observability. It focuses on generating machine-readable JSON output while minimizing memory overhead through zero-allocation buffer encoding and strongly-typed field validation. The library distinguishes itself by providing a chainable, context-aware interface that allows developers to bind trace identifiers and metadata directly to request lifecycles. It supports complex diagnostic workflows by enabling independent logger instances, custom output routing to multiple concurrent destinations, and ev
Zero-allocation JSON logging.
This project is a JavaScript logging utility and namespace-based debugger used for printing formatted, color-coded debug messages to the console in Node.js, web browsers, and Deno. It serves as a console output formatter and execution time profiler to help identify bugs and track program flow. The system manages debug visibility through named namespaces, allowing specific groups of messages to be enabled or disabled via environment variables. It distinguishes different modules in the output stream by assigning specific colors to these namespaces. The utility includes capabilities for measuri
Listed in the “Logging” section of the Awesome Go awesome list.
Signale is a formatted console logging library for Node.js applications. It serves as a pluggable logging framework and stream-based log router that allows users to record system events using customizable levels, colors, and output styles. The project distinguishes itself as an interactive console logger capable of overwriting previous messages to reduce terminal clutter during long-running tasks. It also functions as an application performance monitor, providing tools to measure and track execution time between specific code points to identify performance bottlenecks. The library covers a b
Configurable logging tool.
Consola ist eine JavaScript-Logging-Bibliothek und ein steckbares Framework, das einen plattformübergreifenden Konsolen-Wrapper bereitstellt. Es ermöglicht eine einheitliche Ausgabeformatierung und Stream-Wrapping sowohl in Webbrowser- als auch in Node.js-Terminalumgebungen. Das Projekt zeichnet sich durch ein steckbares Reportersystem und die Fähigkeit aus, globale Systemausgaben abzufangen und Standard-Konsolen- und System-Streams durch zentralisierte Logging-Handler zu leiten. Es bietet Dienstprogramme für die Erstellung visuell verbesserter Command-Line-Interfaces mit Unterstützung für Tags und Schweregrade. Das Framework deckt weitreichende Observability-Funktionen ab, einschließlich Log-Level-Filterung, Volumen-Drosselung zur Vermeidung von wiederholtem Nachrichten-Spam und die Generierung von Scoped-Loggern für modul-spezifische Verfolgung. Es enthält zudem Mechanismen zum Einreihen und Pausieren der Log-Emission sowie Tools zur Simulation des Logger-Verhaltens mittels Mock-Implementierungen für automatisierte Tests. Die Bibliothek integriert zudem interaktive Benutzereingabe-Prompts für die Erstellung von Command-Line-Interfaces, die Text-, Bestätigungs- und Auswahlantworten sammeln.
Elegant logging for Node and browser.
Dieses Projekt ist ein strukturiertes Logging-Framework und eine Bibliothek für Node.js-Anwendungen. Es erstellt maschinenlesbare Log-Datensätze im JSON-Format mit gestuften Schweregraden, um eine konsistente Analyse und zentralisierte Speicherung sicherzustellen. Das System enthält einen Log-Stream-Manager für das Routing von Datensätzen an mehrere Ziele, wie Dateien und Konsolen, sowie ein Command-Line-Interface für das Filtern, Formatieren und Visualisieren roher JSON-Log-Streams. Es unterstützt die Erstellung von Child-Loggern, die übergeordnete Konfigurationen erben und zusätzliche kontextuelle Metadaten zusammenführen. Das Framework deckt ein breites Spektrum operativer Funktionen ab, einschließlich zeitbasierter Dateirotation für das Festplattenmanagement, In-Memory-Ringpuffer für die nachträgliche Wiederherstellung und die Bereitstellung interner Logging-Ereignisse als DTrace-Probes für die Laufzeitbeobachtung in Echtzeit. Es bietet zudem dynamische Call-Site-Introspektion, um Quellort-Metadaten an Logs anzuhängen.
JSON logging module.
go-spew is a deep inspection library and debugging utility for Go. It functions as a data structure pretty printer that renders complex, nested types into human-readable strings with indentation and type information. The library provides specialized capabilities for visualizing internal program states, including the ability to dump data structures with pointer addresses and map keys. It includes a configuration system to adjust printing behavior, such as limiting recursion depth and setting indentation. The tool uses reflection-based type inspection and recursive tree traversal to handle nes
Pretty-printer for Go data structures.
Dies ist ein Logging-Framework für Node.js, das auf der log4j-Architektur basiert. Es bietet ein System zur Verwaltung hierarchischer Logger und Schweregrad-Schwellenwerte, wodurch Anwendungsereignisse aufgezeichnet und nach Wichtigkeit kategorisiert werden können. Das Framework zeichnet sich durch sein Cluster-fähiges Logging aus, das die Ausgabe über mehrere Prozesscluster hinweg in einen einheitlichen Stream synchronisiert und koordiniert. Es enthält zudem einen dedizierten Log-File-Rotation-Manager, der Dateien automatisch nach Datum oder Größe rotiert, um Speicherplatzerschöpfung zu verhindern, sowie einen Netzwerk-Log-Transporter zum Senden von Daten an Remote-Server via TCP oder UDP. Das Projekt deckt umfassende Observability-Funktionen ab, einschließlich Call-Stack-Erfassung für Debugging und der Möglichkeit, Log-Daten an mehrere Ziele wie Konsole, lokale Dateien oder externe Netzwerkdienste zu routen. Es unterstützt strukturiertes Log-Formatieren durch benutzerdefinierte Ausgabemuster und verwaltet das Diagnosevolumen durch kategorienbasiertes Level- und Routenmanagement.
Logging library for Node.js.
Lumberjack ist eine Log-Rolling-Bibliothek für Go, die den Lebenszyklus von Log-Dateien durch größenbasierte Rotation und Backup-Bereinigung verwaltet. Sie fungiert als Log-Retention-Manager, um eine Erschöpfung des Festplattenspeichers bei Go-Diensten zu verhindern. Das Projekt optimiert die Log-Speicherung durch Komprimierung rotierter Dateien mittels Gzip-Algorithmus und die Generierung eindeutiger Dateinamen durch zeitgestempelte Backups. Es implementiert eine Aufbewahrungsrichtlinie, die historische Datensätze basierend auf einer maximalen Anzahl an Backups oder einem spezifizierten Dateialter bereinigt. Die Bibliothek implementiert das Standard-Go-Writer-Interface zur Integration mit Logging-Bibliotheken und bietet einen Mechanismus für automatisierte Log-Rotation und Optimierung des Festplattenspeichers.
Rolling log file implementation.
structlog ist eine Bibliothek für strukturiertes Logging in Python, die Log-Einträge als Dictionaries statt als Strings behandelt. Dieser datenzentrierte Ansatz ermöglicht maschinenlesbare Ausgaben und präzise Datenanalysen durch die Generierung von Log-Einträgen als Key-Value-Paare. Es fungiert sowohl als eigenständiges Logging-Framework als auch als Kompatibilitätsschicht, die dem Standard-Logging-Modul von Python strukturierte Funktionen hinzufügt. Die Bibliothek zeichnet sich durch eine Prozessor-Pipeline-Architektur aus, die Log-Dictionaries durch eine Sequenz von Funktionen leitet, um Ereignisse zu modifizieren oder Metadaten vor dem finalen Rendering hinzuzufügen. Sie enthält ein kontextbezogenes Logging-Tool zum Binden von Key-Value-Metadaten an Logger, was die Rückverfolgbarkeit über Ausführungsgrenzen und Threads hinweg sicherstellt. Für Umgebungen mit hohem Volumen bietet sie ein asynchrones Logging-Framework mit awaitable Methoden, um ein Blockieren des Event-Loops zu verhindern. Das Projekt deckt ein breites Spektrum an Observability-Funktionen ab, einschließlich Multi-Format-Rendering für JSON und farbige Konsolenausgaben sowie Log-Volumen-Drosselung und Filterung nach Schweregrad. Es unterstützt das Routing verarbeiteter Log-Daten an externe Dienste, System-Journale und Netzwerk-Sockets. Zusätzlich enthält es Hilfsmittel zur automatisierten Logging-Verifizierung, um sicherzustellen, dass Anwendungen während des Tests die erwarteten Log-Einträge und Metadaten ausgeben.
Structured logging framework.
Go package for reading from continously updated files (tail -f)
Simulates the BSD tail command.
:ledger: Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods
Lightweight logging with levels.
Colored pretty printer for Go language
Listed in the “Logging” section of the Awesome Go awesome list.
Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting.
Flexible logging with filtering and formatting.