Skip to main content

Crate hdds_logger

Crate hdds_logger 

Source
Expand description

HDDS Distributed Logger

Aggregate and centralize logs from distributed DDS participants.

§Features

  • Log Collection: Subscribe to DDS log topics or aggregate telemetry
  • Multiple Formats: JSON (ELK-ready), plain text, syslog (RFC 5424)
  • Flexible Output: File (with rotation), stdout, syslog daemon
  • Filtering: By log level, participant, topic pattern

§Example

use hdds_logger::{LogCollector, LogConfig, OutputFormat};

let config = LogConfig::builder()
    .format(OutputFormat::Json)
    .output_file("logs/hdds.log")
    .level(LogLevel::Debug)
    .build();

let collector = LogCollector::new(config)?;
collector.run()?;

Structs§

FileRotation
File rotation configuration.
LogCollector
Log collector that subscribes to DDS log topics.
LogConfig
Logger configuration.
LogConfigBuilder
Builder for LogConfig.
LogEntry
A collected log entry.
LogFilter
Log filter configuration.
StopHandle
Handle to stop a running collector.

Enums§

LogLevel
Log severity levels (compatible with ROS 2 rcl_interfaces/Log).
LogSource
Source of a log entry.
OutputConfig
Output configuration.
OutputFormat
Output format for log entries.
SyslogFacility
Syslog facility (RFC 5424).

Traits§

LogFormatter
Log formatter trait.
LogOutput
Log output trait.