Skip to content

Commit 7ab913a

Browse files
committed
feat: support set min-level of logger
1 parent 1ff9c60 commit 7ab913a

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

crates/arroyo-rpc/default.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,4 @@ nonblocking = false
8787
enable-file-line = false
8888
enable-file-name = false
8989
buffered-lines-limit = 4096
90+
min-level = "INFO" # option: trace / debug / info / debug / error / all (i.e. trace) / off

crates/arroyo-rpc/src/config.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,10 @@ pub struct LogConfig {
626626
#[serde(default)]
627627
pub format: LogFormat,
628628

629+
/// set min level for logger
630+
#[serde(default)]
631+
pub min_level: Option<String>,
632+
629633
/// Nonblocking logging may reduce tail latency at the cost of higher memory usage
630634
#[serde(default)]
631635
pub nonblocking: bool,

crates/arroyo-server-common/src/lib.rs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,29 @@ pub fn init_logging(name: &str) -> Option<WorkerGuard> {
5454
init_logging_with_filter(
5555
name,
5656
EnvFilter::builder()
57-
.with_default_directive(LevelFilter::INFO.into())
57+
.with_default_directive(parse_level_filter().into())
5858
.from_env_lossy(),
5959
)
6060
}
6161

62+
fn parse_level_filter() -> LevelFilter {
63+
let level_filter = config()
64+
.logging
65+
.min_level
66+
.clone()
67+
.unwrap_or(std::env::var(EnvFilter::DEFAULT_ENV).unwrap_or("info".to_string()));
68+
69+
match level_filter.to_lowercase().as_str() {
70+
"all" | "trace" => LevelFilter::TRACE,
71+
"debug" => LevelFilter::DEBUG,
72+
"info" => LevelFilter::INFO,
73+
"warn" => LevelFilter::WARN,
74+
"error" => LevelFilter::ERROR,
75+
"off" => LevelFilter::OFF,
76+
_ => LevelFilter::INFO,
77+
}
78+
}
79+
6280
macro_rules! register_log {
6381
($e: expr, $nonblocking: expr, $filter: expr) => {{
6482
let layer = $e;

0 commit comments

Comments
 (0)