10 Repos
Interfaces that allow external handlers to be plugged into a logging pipeline to redirect output.
Distinct from Hook-Based Plugin Systems: Distinct from general hook-based systems: specifically defines the plugin interface for log output destinations.
Explore 10 awesome GitHub repositories matching software engineering & architecture · Logging Destination Plugins. Refine with filters or upvote what's useful.
Timber is an extensible logging framework and wrapper for Android applications. It provides an interface that extends the standard Android logging class to enable customizable output destinations and routing logic. The system uses a tree-based dispatch model and a plugin system to direct log messages to multiple external handlers. This allows for custom log routing to external services or files based on the current environment or specific criteria. The project includes tools for monitoring and observability, specifically a performance validator that analyzes logging calls to detect inefficie
Implements an interface-based system allowing custom log destinations to be plugged into the logging pipeline.
Janus is a WebRTC media gateway that routes real-time audio, video, and data between web browsers and server-side application logic. It functions as a central media relay that manages session negotiation and encryption for multiple browser endpoints. The project utilizes a modular plugin architecture that decouples the core server from specific media logic, allowing developers to implement custom modules for media processing, event handling, and transport protocols. This design enables the server to act as a protocol translation bridge, converting WebRTC streams into legacy formats such as SI
Implements a JSON-based request and event exchange mechanism between clients and server-side plugins.
Consola is a diagnostic logging utility and log output manager that provides a unified interface for Node.js and web browser environments. It functions as a scoped logging framework and a tool for capturing user text, confirmations, and selections through interactive console prompts. The project distinguishes itself through a system for creating specialized logger instances with inherited defaults and unique tags for contextual tracking. It also features a pluggable reporter interface that allows for the redirection of standard output to custom logging destinations and external reporters. Th
Provides a pluggable reporter interface to route log data to custom external destinations.
go-plugin ist ein Framework zur Implementierung von Plugin-Architekturen, bei denen Erweiterungen als separate Prozesse ausgeführt werden und über ein Go-RPC-Plugin-System kommunizieren. Es fungiert als Inter-Process-Communication-Bibliothek und Lebenszyklus-Manager, der es Host-Anwendungen ermöglicht, externe binäre Plugins zu entdecken, zu starten und zu überwachen. Das Framework ermöglicht sprachübergreifende Plugin-Systeme, wodurch Plugins, die in verschiedenen Sprachen geschrieben wurden, über standardisierte RPC-Protokolle in einen Host integriert werden können. Es verfügt über eine bidirektionale RPC-Brücke, die es sowohl dem Host als auch dem Plugin ermöglicht, Schnittstellenimplementierungen für komplexen Datenaustausch und Callbacks auszutauschen. Das System bietet Prozessisolierung durch die Ausführung von Plugins als unabhängige Subprozesse, wodurch sichergestellt wird, dass Plugin-Abstürze die Host-Anwendung nicht beenden. Es deckt Sicherheit durch gegenseitige TLS-Authentifizierung und Integritätsprüfung ab sowie Lebenszyklus-Orchestrierung, einschließlich zustandsbehafteter Prozess-Wiederanbindung, um die Konnektivität während Host-Upgrades aufrechtzuerhalten. Zusätzliche Funktionen umfassen binäre Entdeckung, Protokoll-Versionierung und die Synchronisation von Plugin-Logs und Output-Streams zurück zum Host.
Facilitates the exchange of message sequences to handle large datasets or continuous updates.
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
Zed records error, warning, or info messages from a plugin to the editor's log file for debugging and monitoring.
Vibora ist ein asynchrones Python-Web-Framework und ein eingebauter HTTP-Server, der für den Aufbau hochperformanter Webanwendungen entwickelt wurde. Es nutzt eine asynchrone Event-Loop und Coroutines, um Netzwerkanfragen zu verarbeiten und Antworten bereitzustellen, ohne dass externe Server-Wrapper erforderlich sind. Das Projekt bietet einen hochperformanten asynchronen Schema-Validator für die Anfrage-Integrität, eine nicht-blockierende Template-Engine mit Unterstützung für Hot-Reloading und einen WebSocket-Kommunikationsserver für bidirektionalen Echtzeit-Datenaustausch. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich modularer Routenverwaltung via Blueprints, Dependency Injection für Anwendungskomponenten und Zero-Copy-HTTP-Parsing. Es bietet zudem Tools für das User-Session-Management, asynchrones HTML-Rendering und einen nicht-blockierenden HTTP-Client mit Connection-Pooling. Ein Command-Line-Interface steht für das Projekt-Bootstrapping zur Verfügung, um standardisierte Verzeichnisstrukturen und initiale Konfigurationsdateien zu generieren.
Allows the definition of custom handlers to process system log messages using standard logging levels.
EasyLogger ist eine leichtgewichtige C/C++-Logging-Bibliothek und ein asynchrones Framework für eingebettete Systeme, IoT-Geräte und Wearables. Es fungiert als ressourceneffizienter Logger und Flash-Speichermanager und bietet Tools für Low-Level-Debugging und die Aufzeichnung von Systemereignissen bei minimalem ROM- und RAM-Bedarf. Das Projekt zeichnet sich durch ein asynchrones Logging-Modell aus, das Nachrichten in einem separaten Thread puffert, wodurch Logging-Operationen die Echtzeit-Anwendungsausführung nicht blockieren. Es enthält einen spezialisierten Flash-Speichermanager, der zirkuläre Pufferung nutzt, um Logs in nicht-flüchtigem Speicher zu persistieren und so sicherzustellen, dass kritische Daten über Geräte-Reboots hinweg erhalten bleiben. Die Bibliothek deckt ein breites Spektrum an Beobachtbarkeitsfunktionen ab, einschließlich System-Assertions zur Zustandsvalidierung, Severity-Filterung zur Kompilier- und Laufzeit sowie die Generierung von rohen binären Hex-Dumps. Sie unterstützt die Anreicherung von Metadaten mit Zeitstempeln und Thread-IDs sowie eine portable Schnittstelle zur Weiterleitung von Logs an benutzerdefinierte Ziele wie serielle Schnittstellen oder Dateien. Das System stellt die Datenintegrität durch Schreibsynchronisation sicher und bietet Mechanismen für das manuelle Leeren von Puffern und das Abrufen gespeicherter Logs.
Provides a portable interface for plugging in custom output destinations such as serial ports or files.
Yabridge is a compatibility bridge that allows Windows audio plugins to run within Linux digital audio workstations. It utilizes a Wine-based wrapper to translate audio processing and plugin calls from Windows plugins to Linux hosts, supporting both VST2 and VST3 standards. The system manages the execution of both 32-bit and 64-bit Windows plugins on Linux. It includes specialized mechanisms to handle window scaling, input focus, and the transfer of data through cross-environment drag-and-drop between native Linux applications and Windows plugins. The project provides tools for environment i
Captures debug messages and system output from plugins to files for diagnostic purposes.
MadelineProto is an asynchronous PHP library that provides a programmatic interface for interacting with the Telegram API using the MTProto protocol, the same protocol used by official Telegram clients. It functions as both a Telegram bot SDK and a userbot automation library, enabling PHP applications to connect to Telegram as either a bot account or a regular user account, sending and receiving messages, media, and other data directly without relying on the Bot API intermediary. The library is built on an event-driven architecture with Amp v3 fiber-based concurrency, allowing for non-blockin
Sends log entries at configurable verbosity levels to a file or other destination defined in settings.
open62541 is an open-source implementation of the OPC Unified Architecture standard, providing a complete stack for industrial automation and data exchange. It functions as both an OPC UA server and client, enabling the creation of an object-oriented address space to model physical industrial assets and their relationships. The project is designed for versatility across diverse hardware, offering a C99 library that can be deployed to both cloud servers and resource-constrained embedded environments. It distinguishes itself through a pluggable network layer and interface-based security backend
Provides a plugin interface to redirect internal system logs to custom output destinations.