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§
- File
Rotation - File rotation configuration.
- LogCollector
- Log collector that subscribes to DDS log topics.
- LogConfig
- Logger configuration.
- LogConfig
Builder - Builder for LogConfig.
- LogEntry
- A collected log entry.
- LogFilter
- Log filter configuration.
- Stop
Handle - Handle to stop a running collector.
Enums§
- LogLevel
- Log severity levels (compatible with ROS 2 rcl_interfaces/Log).
- LogSource
- Source of a log entry.
- Output
Config - Output configuration.
- Output
Format - Output format for log entries.
- Syslog
Facility - Syslog facility (RFC 5424).
Traits§
- LogFormatter
- Log formatter trait.
- LogOutput
- Log output trait.