1 个不稳定版本
0.1.0 | 2024 年 3 月 5 日 |
---|
在 Unix API 中排名第 550
21KB
438 行代码(不包括注释)
tracing-systemd:具有(一些)格式的 journald 日志记录
在这里放置一些内容,以便仓库看起来不那么空旷
运行示例
cargorun --exampletest_log_stdout --功能="colored"
cargorun --exampletest_log_systemd --功能="colored"
lib.rs
:
tracing-subscriber
层,用于将日志记录到 systemd 日志
为 tracing-subscriber
提供了一个可配置的 SystemdLayer
实现。显示所有跨度(span)和参数。
功能
colored
(默认):启用彩色输出sd-journal
:启用向 systemd 日志记录日志(在服务外运行时很有用)- 需要安装
libsystemd-dev
- 使用
-t
|--identifier
进行过滤(例如,journalctl -t <identifier>
- 需要安装
示例
use tracing::error;
use tracing::{debug, info, instrument, trace, warn};
use tracing_subscriber::prelude::*;
use tracing_systemd::SystemdLayer;
fn main() {
tracing_subscriber::registry()
.with(
SystemdLayer::new()
.with_target(true)
.use_level_prefix(false)
.use_color(true)
.with_thread_ids(true),
)
.init();
root_log_fn(true);
}
#[instrument(fields(outside_instrument_field = true))]
fn root_log_fn(outside_instrument_field: bool) {
info!("Root log");
inner_log_1(true);
}
#[instrument(fields(inside_instrument_field = true))]
fn inner_log_1(inside_parameter_field: bool) {
trace!("this is a trace");
debug!(field_in_function = "also works");
info!("this is an info log");
warn!("Inner log 1");
error!("this is an error");
}
依赖项
~2–12MB
~84K SLoC