Files
tracing/tracing-journald
Finomnis 672dfdf694 journald: allow custom journal fields (#2708)
## Motivation

It's currently not possible to customize how messages will get send to journald.

This became apparent in #2425, where first a specific API got designed, but then
it was decided that users should not get restricted in only a subset of fields,
but should be able to simply choose by themselves what fields get set with what
values.

So in a sense, this is the successor/rework of #2425.

## Solution

Allow custom fields to be set in tracing-journald.

## Open Questions

- [x] How should we deal with fields that also get supplied by other options?
  For example, setting `SYSLOG_IDENTIFIER` here and also setting
  `.with_syslog_identifier()` will send said field twice, potentially with
  differing values. Is that a problem?
    - Answer: No, this is not a problem.

Closes #2425
2023-09-05 20:13:43 +00:00
..
2023-04-05 11:19:55 -07:00
2023-04-05 11:19:55 -07:00

Tracing — Structured, application-level diagnostics

tracing-journald

Support for logging [tracing][tracing] events natively to journald, preserving structured information.

Crates.io Documentation (master) MIT licensed maintenance status

Overview

tracing is a framework for instrumenting Rust programs to collect scoped, structured, and async-aware diagnostics. tracing-journald provides a tracing-subscriber::Layer implementation for logging tracing spans and events to systemd-journald, on Linux distributions that use systemd.

Compiler support: requires rustc 1.56+

Supported Rust Versions

Tracing is built against the latest stable release. The minimum supported version is 1.56. The current Tracing version is not guaranteed to build on Rust versions earlier than the minimum supported version.

Tracing follows the same compiler support policies as the rest of the Tokio project. The current stable Rust compiler and the three most recent minor versions before it will always be supported. For example, if the current stable compiler version is 1.69, the minimum supported version will not be increased past 1.66, three minor versions prior. Increasing the minimum supported compiler version is not considered a semver breaking change as long as doing so complies with this policy.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tracing by you, shall be licensed as MIT, without any additional terms or conditions.