Logging
RUSEON Core uses rs/zerolog for high-performance, allocation-free structured logging.
Log Output
Logs are output in JSON format by default, making them easy to ingest into ELK, Loki, or Datadog. When running interactively, the ConsoleWriter provides colorized output.
Standard Go library logs (e.g., from underlying HTTP servers) are intercepted and routed to zerolog at the Warn level to prevent log fragmentation.
Log Levels
- InfoLevel (Default): Standard operational events (server start, stream connected).
- DebugLevel: Detailed frame-level parsing, DB operations. Enabled via
debug: truein configuration. - WarnLevel: Non-fatal issues (stream reconnecting).
- ErrorLevel: Actionable errors (disk write failure).
Real-time Logging (SSE)
RUSEON Core features an SSE (Server-Sent Events) GlobalBroadcaster. This allows authenticated clients to stream live server logs directly to the browser UI without tailing files on the server.