Add granular log on nym-node

This commit is contained in:
Bogdan-Ștefan Neacşu
2024-11-08 13:39:34 +02:00
parent 85a122f3eb
commit 430255fea5
4 changed files with 38 additions and 2 deletions
Generated
+1
View File
@@ -6005,6 +6005,7 @@ dependencies = [
"tokio",
"toml 0.8.14",
"tracing",
"tracing-subscriber",
"url",
"zeroize",
]
+1
View File
@@ -27,6 +27,7 @@ serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
thiserror.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
tokio = { workspace = true, features = ["macros", "sync"] }
toml = { workspace = true }
url = { workspace = true, features = ["serde"] }
+33
View File
@@ -0,0 +1,33 @@
// Copyright 2024 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: GPL-3.0-only
use tracing::level_filters::LevelFilter;
use tracing_subscriber::{filter::Directive, EnvFilter};
pub(crate) fn setup_tracing_logger() {
fn directive_checked(directive: String) -> Directive {
directive.parse().expect("Failed to parse log directive")
}
let log_builder = tracing_subscriber::fmt()
// Use a more compact, abbreviated log format
.compact()
// Display source code file paths
.with_file(true)
// Display source code line numbers
.with_line_number(true)
// Don't display the event's target (module path)
.with_target(false);
let mut filter = EnvFilter::builder()
// if RUST_LOG isn't set, set default level
.with_default_directive(LevelFilter::INFO.into())
.from_env_lossy();
// these crates are more granularly filtered
let filter_crates = ["defguard_wireguard_rs"];
for crate_name in filter_crates {
filter = filter.add_directive(directive_checked(format!("{}=warn", crate_name)));
}
log_builder.with_env_filter(filter).init();
}
+3 -2
View File
@@ -4,13 +4,14 @@
#![warn(clippy::expect_used)]
#![warn(clippy::unwrap_used)]
use crate::cli::Cli;
use crate::{cli::Cli, logging::setup_tracing_logger};
use clap::{crate_name, crate_version, Parser};
use nym_bin_common::logging::{maybe_print_banner, setup_tracing_logger};
use nym_bin_common::logging::maybe_print_banner;
use nym_config::defaults::setup_env;
mod cli;
mod env;
mod logging;
pub(crate) mod node;
#[tokio::main]