10 repositorios
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 es un framework para implementar arquitecturas de plugins donde las extensiones se ejecutan como procesos separados y se comunican a través de un sistema de plugins RPC de Go. Funciona como una librería de comunicación entre procesos (IPC) y gestor de ciclo de vida que permite a las aplicaciones anfitrionas descubrir, lanzar y monitorear plugins binarios externos. El framework permite sistemas de plugins entre lenguajes, permitiendo que los plugins escritos en diferentes lenguajes se integren con un anfitrión a través de protocolos RPC estandarizados. Cuenta con un puente RPC bidireccional que permite tanto al anfitrión como al plugin intercambiar implementaciones de interfaz para el intercambio de datos complejos y callbacks. El sistema proporciona aislamiento de procesos ejecutando plugins como subprocesos independientes, asegurando que los bloqueos de los plugins no terminen la aplicación anfitriona. Cubre la seguridad mediante autenticación TLS mutua y verificación de integridad, así como la orquestación del ciclo de vida, incluida la reconexión de procesos con estado para mantener la conectividad durante las actualizaciones del anfitrión. Las capacidades adicionales incluyen descubrimiento binario, versionado de protocolos y la sincronización de registros y flujos de salida del plugin de vuelta al anfitrión.
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 es un framework web asíncrono de Python y servidor HTTP integrado diseñado para construir aplicaciones web de alto rendimiento. Utiliza un bucle de eventos asíncrono y corrutinas para procesar solicitudes de red y servir respuestas sin necesidad de envoltorios de servidor externos. El proyecto cuenta con un validador de esquemas asíncrono de alto rendimiento para la integridad de las solicitudes, un motor de plantillas sin bloqueo con soporte para recarga en caliente (hot-reloading) y un servidor de comunicación WebSocket para el intercambio de datos bidireccional en tiempo real. El framework cubre una amplia gama de capacidades, incluyendo gestión modular de rutas mediante blueprints, inyección de dependencias para componentes de la aplicación y análisis HTTP de copia cero. También proporciona herramientas para la gestión de sesiones de usuario, renderizado HTML asíncrono y un cliente HTTP sin bloqueo con agrupación de conexiones. Está disponible una interfaz de línea de comandos (CLI) para el arranque del proyecto, permitiendo generar estructuras de directorios estandarizadas y archivos de configuración iniciales.
Allows the definition of custom handlers to process system log messages using standard logging levels.
EasyLogger es una biblioteca de registro ligera en C/C++ y un framework asíncrono diseñado para sistemas embebidos, dispositivos IoT y wearables. Funciona como un logger eficiente en recursos y gestor de memoria flash, proporcionando herramientas para depuración de bajo nivel y registro de eventos del sistema con requisitos mínimos de ROM y RAM. El proyecto se distingue por un modelo de registro asíncrono que almacena mensajes en un hilo separado, evitando que las operaciones de registro bloqueen la ejecución de la aplicación en tiempo real. Incluye un gestor de memoria flash especializado que utiliza buffers circulares para persistir registros en almacenamiento no volátil, asegurando que los datos críticos se conserven tras reinicios del dispositivo. La biblioteca cubre una amplia gama de capacidades de observabilidad, incluyendo aserciones del sistema para validación de estado, filtrado de severidad en tiempo de compilación y ejecución, y la generación de volcados binarios hexadecimales crudos. Admite enriquecimiento de metadatos con marcas de tiempo e identificadores de hilos, junto con una interfaz portátil para enrutar registros a destinos personalizados como puertos serie o archivos. El sistema garantiza la integridad de los datos mediante sincronización de escritura y proporciona mecanismos para el vaciado manual de buffers y la recuperación de registros almacenados.
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.