Open3

[Rust]Tracingについて試したことを書き連ねていく

Yos_KYos_K

Cargo.tomlに入れてみたもの

[dependencies]
tracing = "0.1"
tracing-subscriber = {version = "0.3.9", features = ["json"]}
tracing-log = "0.1"
Yos_KYos_K

システムログとユーザ向けのログを別ファイルに出力しつつ、システムログはJson形式にしたいというような場合はこう書いたらできた

let system_log = File::create(ファイルのパス).unwrap;
let user_log = File::create(ファイルのパス).unwrap;

let subscriber = tracing_subscriber::registry()
.with(fmt::Layer::new().with_writer(system_log.with_max_level(tracing::Level::TRACE)).with_ansi(false).json())
.with(fmt::Layer::new().with_writer(user_log.with_max_level(tracing::Level::INFO)).with_ansi(false));

tracing::subscriber::set_global_default(subscriber).expect("Unable to set a global subscriber");