19 Repos
Mechanisms for routing console output to specific system streams like stderr.
Distinct from CLI Output Controllers: Distinct from CLI Output Controllers: focuses specifically on the stream routing mechanism rather than general output suppression.
Explore 19 awesome GitHub repositories matching development tools & productivity · Stream Redirection. Refine with filters or upvote what's useful.
spdlog ist eine leistungsstarke C++-Logging-Bibliothek, die entwickelt wurde, um Diagnosemeldungen und Anwendungsereignisse aufzuzeichnen. Sie dient als asynchrones Logging-Framework und thread-sichere Bibliothek, die den Zugriff über konkurrierende Threads koordiniert, um die Integrität der Meldungen zu wahren. Das Projekt fungiert als Multi-Target-Log-Router, der einzelne Ereignisse an mehrere Ziele wie Konsolen, Dateien und System-Daemons verteilt. Es enthält einen Log-Rotations-Manager, der Dateilebenszyklen durch einfache, rotierende oder tägliche Rollover-Strategien verwaltet, um eine Erschöpfung des Festplattenspeichers zu verhindern. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich benutzerdefinierter Log-Formatierung für benutzerdefinierte Typen und Binärdaten, Erfassung von Quellorten und Verfolgung der Ausführungszeit. Sie bietet auch Observability-Primitive wie die Erfassung von Ereignis-Backtraces mittels Debug-Message-Ring-Buffering und die Möglichkeit, Log-Level über eine externe Laufzeitkonfiguration zu verwalten. Die Bibliothek ist als Header-only-Distribution verfügbar, um separate Kompilierungsschritte zu eliminieren.
Distributes single log events to multiple destinations such as consoles, files, and system daemons.
This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili
Provides utilities to route diagnostic messages to the standard error stream instead of standard output.
PySnooper is a diagnostic library for Python that tracks variable values and execution flow to provide a detailed history of program state. By applying decorators to functions, generators, or classes, it logs line-by-line execution and state changes without requiring manual print statements. The tool distinguishes itself through its ability to monitor nested function calls and concurrent operations in multi-threaded applications. It captures execution context by accessing the current stack frame, allowing for the inspection of local variables and the evaluation of arbitrary expressions during
Routes diagnostic output through configurable buffers to support writing trace data to files or custom destinations.
CocoaLumberjack is a logging framework designed for Apple platforms, providing a system for capturing, filtering, and managing diagnostic messages within mobile and desktop applications. It serves as a tool for monitoring software health and troubleshooting runtime issues by recording application events across various severity levels. The framework utilizes a modular architecture that allows developers to define custom log levels and route diagnostic output to multiple concurrent destinations, including the system console, local files, and remote servers. It incorporates an asynchronous pipel
Sends diagnostic output to specific targets like the system console, local files, or remote servers.
This project is a namespace-based logging utility for JavaScript runtimes, including Node.js and web browsers. It provides a system for categorizing output into distinct namespaces to enable filtered visibility and color-coded identification of log sources. The utility allows for dynamic log control, where output streams can be toggled on or off via environment variables or method calls without restarting the application. It includes an execution time profiler that calculates the elapsed time between consecutive log calls to identify performance bottlenecks. Further capabilities include the
Provides the ability to route console output to specific system streams instead of the default error stream.
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
Routes log data to a configurable stream or function instead of hardcoding a specific system output method.
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
Enables routing log events to multiple writable destinations and streams simultaneously.
Morgan ist eine Node.js-HTTP-Logging-Middleware, die darauf ausgelegt ist, eingehende Anfragen und ausgehende Antworten aufzuzeichnen. Sie erfasst Request-Metadaten und Zeitmessungen, um API-Request-Auditing und Server-Performance-Überwachung zu erleichtern. Das Projekt nutzt tokenbasierte String-Interpolation und benutzerdefinierte Log-Token, um spezifische Eigenschaften aus HTTP-Objekten zu extrahieren. Es unterstützt Multi-Destination-Logging durch das Routing formatierter Log-Strings an verschiedene beschreibbare Streams und verwendet Log-Output-Sanitisierung, um Steuerzeichen zu maskieren. Zusätzliche Funktionen umfassen prädikatbasiertes Log-Filtern, um Einträge bedingt auszulassen, sowie die Fähigkeit, bei Erhalt einer Anfrage sofortige Log-Zeitmessungen auszulösen.
Supports multiple logger instances to route different request types or severity levels to distinct outputs.
This is an ANSI terminal color library and console output manager used for applying colors and text attributes to command line interface output. It functions as a terminal text styler and RGB color formatter, generating the escape codes necessary for foreground and background styling. The project supports 24-bit high-color RGB mapping for precise color rendering in compatible terminal emulators. It enables the creation of colorized text fragments that can be embedded into larger blocks of text or applied as global styles that persist across subsequent output streams. The library covers broad
Writes colorized text to any custom output stream that implements a standard writer interface.
This is an open-source educational website that translates and localizes MIT's Missing Semester course, teaching practical computing skills for computer science students. The curriculum covers developer tooling, shell scripting, version control, security fundamentals, and open-source collaboration, with a focus on core computing skills including data processing pipelines, workflow automation, secure remote access, shell productivity, Vim editing, and Git version control. The project distinguishes itself by teaching command-line mastery, shell scripting, and automation to boost daily developer
Teaches redirecting stdin, stdout, and stderr using <, >, and >> operators.
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.
Captures global console and system output by replacing standard I/O streams with a custom handler.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Supports simultaneous logging to multiple destinations with independent configurations based on log type or severity.
SwiftyBeaver is an extensible logging framework for Swift that routes log output to multiple destinations simultaneously, including the Xcode console, local files, and remote cloud services. It supports recording messages at distinct severity levels with corresponding visual styling, and can attach arbitrary contextual data such as numbers, arrays, or dictionaries to log entries without requiring manual string conversion. The framework distinguishes itself through destination-based log routing, where each output target can have its own independent format and filter configuration managed by a
Routes log output to several destinations simultaneously, such as console, file, and cloud, each with its own format.
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.
Routes log events to multiple heterogeneous targets including the console, local files, and network services.
Tape ist ein JavaScript-Testframework und eine Assertion-Bibliothek, die als Test-Runner für Node.js- und Browser-Umgebungen dient. Es implementiert das Test Anything Protocol, um ein standardisiertes, maschinenlesbares Format für Testergebnisse bereitzustellen. Das Projekt fungiert als plattformübergreifendes Test-Harness, das es ermöglicht, dieselben Testsuiten sowohl in server- als auch in clientseitigen Umgebungen auszuführen und dabei ein konsistentes Ausgabeprotokoll beizubehalten. Zu den Funktionen gehören die Validierung von Wertgleichheit und Wahrheitswerten, die Überprüfung der Exception-Behandlung sowie die Koordination asynchroner Workflows. Das Framework bietet zudem Tools zur Verwaltung von Test-Lebenszyklen, zum Definieren benannter Testfälle und zum Erfassen von Funktionsaufrufen oder Eigenschaftszugriffen. Die Kommandozeilenschnittstelle unterstützt glob-basiertes Test-Discovery, Modul-Preloading sowie die Möglichkeit, bestimmte Dateien oder Ordner von der Ausführung auszuschließen.
Allows routing test output to custom writeable streams instead of the console.
entr ist ein Befehlszeilentool und Shell-Befehls-Orchestrator, der beliebige Terminalbefehle automatisch ausführt, sobald überwachte Dateien geändert werden. Es fungiert als Unix-Dateisystem-Monitor, der Dateisystem-Events auf die Ausführung benutzerdefinierter Shell-Befehle abbildet. Das Dienstprogramm fungiert als Automatisierungstool für Entwicklungs-Workflows, indem es Hintergrundprozesse neu startet und die Konsolenausgabe aktualisiert, um während des Codierens sofortiges Feedback zu geben. Es kann lang laufende Dienste beenden und neu starten, wenn Konfiguration oder Quellcode aktualisiert werden. Das Projekt deckt die automatisierte Aufgabenausführung und Continuous-Integration-Tests ab, indem Skripte oder Test-Suiten als Reaktion auf Dateiänderungen ausgeführt werden. Es enthält zudem Funktionen für die Verzeichnisüberwachung zur Erkennung neuer Dateien sowie Dienstprogramme zum Löschen der Konsolenausgabe, um die Lesbarkeit zu wahren. Benutzer können benutzerdefinierte Statusmeldungen implementieren, indem sie externe Skripte verwenden, um die Befehlsausgabe zu verarbeiten und zu filtern.
Manages the routing of command output to facilitate console clearing and status customization.
NCCL ist eine Hochleistungs-Kommunikationsbibliothek und ein Framework für verteiltes GPU-Computing, das für die Ausführung kollektiver und Punkt-zu-Punkt-Datenaustausche über mehrere GPUs in Einzel- oder Multi-Node-Systemen entwickelt wurde. Es dient als RDMA-GPU-Transportschicht und Speicher-Orchestrator, der die hochbandbreitige Synchronisation von Daten und Modellgradienten für verteiltes GPU-Training und Inference erleichtert. Die Bibliothek zeichnet sich durch ihre Fähigkeit aus, Kommunikationsprimitive direkt aus GPU-Kernels auszuführen, wodurch die Host-CPU aus dem kritischen Pfad entfernt wird. Sie nutzt topologiebewusste Pfadauswahl zur Optimierung der Datenbewegung und verwendet RDMA-basierten Netzwerktransport, einschließlich InfiniBand und NVLink, um Zero-Copy-Speicherzugriffe zwischen Geräten über verschiedene physische Knoten hinweg zu ermöglichen. Das Projekt deckt eine breite Palette an kollektiven Kommunikationsmustern ab, darunter Reduktionen, Broadcasts, Gathers und All-to-All-Austausche, neben Punkt-zu-Punkt-Remote-Speicherzugriffen. Es bietet umfassendes Communicator-Management für die Initialisierung, Partitionierung und Größenanpassung von GPU-Gruppen sowie spezialisiertes Speichermanagement für das Registrieren von Buffern und das Koordinieren von gemeinsam genutztem Gerätespeicher. Das System enthält eine Suite von Monitoring- und Observability-Tools für Health-Tracking, diagnostisches Logging und Echtzeit-Ereignisüberwachung sowie Integrationsschnittstellen für Machine-Learning-Frameworks, CUDA-Graphs, MPI und Python.
Routes diagnostic output to separate files using unique identifiers to prevent terminal congestion.
Logspout ist ein Aggregator, Forwarder und Routing-Engine für Container-Logs, die dazu dient, Logs von Docker-Containern zu sammeln und an zentralisierte externe Logging-Systeme weiterzuleiten. Es fungiert als netzwerkbasiertes Dienstprogramm, das Container-Ausgaben an entfernte Ziele wie Syslog- oder TCP-Endpunkte weiterleitet. Das System verfügt über eine dynamische Routing-Engine, die das Erstellen und Aktualisieren von Log-Routing-Konfigurationen und Zielfiltern in Echtzeit über eine HTTP-Schnittstelle ermöglicht, ohne den Dienst neu starten zu müssen. Es nutzt eine adapterbasierte Architektur, die die Entwicklung benutzerdefinierter Ausgabemodule und die Erstellung maßgeschneiderter Container-Images zur Unterstützung proprietärer Ziele ermöglicht. Die Plattform bietet Funktionen für die Filterung von Log-Quellen basierend auf Containernamen, IDs oder Labels und unterstützt Multi-Destination-Routing. Sie enthält Log-Verarbeitungs-Utilities für die Aggregation mehrzeiliger Einträge und templatebasiertes Formatieren, um Rohdaten in strukturiertes JSON oder Text umzuwandeln. Die Datenübertragung wird durch TLS-Verschlüsselung auf Transportebene mit Unterstützung für gegenseitige Authentifizierung und benutzerdefinierte Zertifizierungsstellen gesichert. Zusätzliche Beobachtbarkeit wird durch Echtzeit-Log-Streaming über WebSockets und chunked HTTP-Encoding sowie durch Stream-Timeout-Erkennung zur Vermeidung von Datenverlust bereitgestellt.
Routes log streams from Docker containers to multiple remote destinations like syslog or TCP.
XCGLogger ist ein Swift-Logging-Framework, das darauf ausgelegt ist, Anwendungsereignisse mit automatischen Metadaten wie Zeitstempeln und Zeilennummern aufzuzeichnen, um bei der Fehlersuche und beim Debugging zu unterstützen. Das Projekt bietet einen asynchronen Log-Router, der Schreibvorgänge auf Hintergrund-Queues auslagert und verzögerte Auswertung nutzt, um aufwendige String-Konstruktionen zu vermeiden, wenn ein Log-Level inaktiv ist. Es enthält einen dateibasierten Log-Manager, der die persistente Speicherung mit automatischer Rotation basierend auf Dateigröße oder Alter handhabt, sowie einen benutzerdefinierten Formatter zur Anwendung von Datumsformaten und ANSI-Farbcodes auf die Konsolenausgabe. Das Framework bietet umfassende Funktionen für das Log-Routing an mehrere Ziele, Filterung basierend auf Schweregrad und Metadaten sowie Erweiterbarkeit über Protokolle zur Erstellung benutzerdefinierter Ziele, Filter und Formatter.
Routes log events to multiple heterogeneous destinations, including consoles and files, using configurable rules.