@@ -87,31 +87,36 @@ pub fn split_file(split_id: impl Display) -> String {
87
87
fn get_from_env_opt_aux < T : Debug > (
88
88
key : & str ,
89
89
parse_fn : impl FnOnce ( & str ) -> Option < T > ,
90
+ sensitive : bool ,
90
91
) -> Option < T > {
91
92
let value_str = std:: env:: var ( key) . ok ( ) ?;
92
93
let Some ( value) = parse_fn ( & value_str) else {
93
94
error ! ( value=%value_str, "failed to parse environment variable `{key}` value" ) ;
94
95
return None ;
95
96
} ;
96
- info ! ( value=?value, "using environment variable `{key}` value" ) ;
97
+ if sensitive {
98
+ info ! ( "using environment variable `{key}` value" ) ;
99
+ } else {
100
+ info ! ( value=?value, "using environment variable `{key}` value" ) ;
101
+ }
97
102
Some ( value)
98
103
}
99
104
100
- pub fn get_from_env < T : FromStr + Debug > ( key : & str , default_value : T ) -> T {
101
- if let Some ( value) = get_from_env_opt ( key) {
105
+ pub fn get_from_env < T : FromStr + Debug > ( key : & str , default_value : T , sensitive : bool ) -> T {
106
+ if let Some ( value) = get_from_env_opt ( key, sensitive ) {
102
107
value
103
108
} else {
104
109
info ! ( default_value=?default_value, "using environment variable `{key}` default value" ) ;
105
110
default_value
106
111
}
107
112
}
108
113
109
- pub fn get_from_env_opt < T : FromStr + Debug > ( key : & str ) -> Option < T > {
110
- get_from_env_opt_aux ( key, |val_str| val_str. parse ( ) . ok ( ) )
114
+ pub fn get_from_env_opt < T : FromStr + Debug > ( key : & str , sensitive : bool ) -> Option < T > {
115
+ get_from_env_opt_aux ( key, |val_str| val_str. parse ( ) . ok ( ) , sensitive )
111
116
}
112
117
113
118
pub fn get_bool_from_env_opt ( key : & str ) -> Option < bool > {
114
- get_from_env_opt_aux ( key, parse_bool_lenient)
119
+ get_from_env_opt_aux ( key, parse_bool_lenient, false )
115
120
}
116
121
117
122
pub fn get_bool_from_env ( key : & str , default_value : bool ) -> bool {
@@ -305,11 +310,11 @@ mod tests {
305
310
// way, we are keeping it that way
306
311
307
312
const TEST_KEY : & str = "TEST_KEY" ;
308
- assert_eq ! ( super :: get_from_env( TEST_KEY , 10 ) , 10 ) ;
313
+ assert_eq ! ( super :: get_from_env( TEST_KEY , 10 , false ) , 10 ) ;
309
314
unsafe { std:: env:: set_var ( TEST_KEY , "15" ) } ;
310
- assert_eq ! ( super :: get_from_env( TEST_KEY , 10 ) , 15 ) ;
315
+ assert_eq ! ( super :: get_from_env( TEST_KEY , 10 , false ) , 15 ) ;
311
316
unsafe { std:: env:: set_var ( TEST_KEY , "1invalidnumber" ) } ;
312
- assert_eq ! ( super :: get_from_env( TEST_KEY , 10 ) , 10 ) ;
317
+ assert_eq ! ( super :: get_from_env( TEST_KEY , 10 , false ) , 10 ) ;
313
318
}
314
319
315
320
#[ test]
0 commit comments