A Rust library for integrating the tracing framework with COVESA DLT (Diagnostic Log and Trace). This project provides Rust bindings for DLT and a tracing subscriber that allows you to send structured logs and traces to DLT daemon.
This workspace contains three publishable crates:
| Crate | Description | Documentation |
|---|---|---|
dlt-sys |
Low-level FFI bindings to libdlt | README |
dlt-rs |
Safe and idiomatic Rust API for DLT logging | README |
tracing-dlt |
Tracing subscriber/layer for DLT integration | README |
Which crate should you use?
- Use
tracing-dltfor integration with thetracingecosystem (recommended) - Use
dlt-rsfor direct DLT logging with a safe API (non-tracing applications) - Use
dlt-sysonly if building your own low-level abstraction (not recommended for most users)
See each crate's README for detailed examples and API documentation.
Note:
tracing-dltanddlt-rscan be used together when application registration is done throughtracing-dlt.
- Rust 1.88.0 or later
- libdlt must be installed on your system
# Build all crates
cargo build
# Build with DLT load control support
cargo build --features trace_load_ctrl# Unit tests only (no DLT daemon required)
cargo test
# Integration tests (automatically starts DLT daemon)
cargo test -p integration-tests --features integration-testsA devcontainer is provided with DLT daemon pre-installed. Open the project in VS Code with the Dev Containers extension.
See CONTRIBUTING.md for guidelines.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
This project is part of Eclipse OpenSOVD. See CONTRIBUTORS for the list of contributors.