File tree Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -87,3 +87,4 @@ nonblocking = false
87
87
enable-file-line = false
88
88
enable-file-name = false
89
89
buffered-lines-limit = 4096
90
+ min-level = " INFO" # option: trace / debug / info / debug / error / all (i.e. trace) / off
Original file line number Diff line number Diff line change @@ -626,6 +626,10 @@ pub struct LogConfig {
626
626
#[ serde( default ) ]
627
627
pub format : LogFormat ,
628
628
629
+ /// set min level for logger
630
+ #[ serde( default ) ]
631
+ pub min_level : Option < String > ,
632
+
629
633
/// Nonblocking logging may reduce tail latency at the cost of higher memory usage
630
634
#[ serde( default ) ]
631
635
pub nonblocking : bool ,
Original file line number Diff line number Diff line change @@ -54,11 +54,29 @@ pub fn init_logging(name: &str) -> Option<WorkerGuard> {
54
54
init_logging_with_filter (
55
55
name,
56
56
EnvFilter :: builder ( )
57
- . with_default_directive ( LevelFilter :: INFO . into ( ) )
57
+ . with_default_directive ( parse_level_filter ( ) . into ( ) )
58
58
. from_env_lossy ( ) ,
59
59
)
60
60
}
61
61
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
+
62
80
macro_rules! register_log {
63
81
( $e: expr, $nonblocking: expr, $filter: expr) => { {
64
82
let layer = $e;
You can’t perform that action at this time.
0 commit comments