1
1
#![ warn( clippy:: all, rust_2018_idioms) ]
2
2
3
3
use cargo_registry:: { metrics:: LogEncoder , util:: errors:: AppResult , App , Env } ;
4
- use std:: { fs:: File , process:: Command , sync:: Arc , time:: Duration } ;
4
+ use std:: { env , fs:: File , process:: Command , sync:: Arc , time:: Duration } ;
5
5
6
6
use conduit_hyper:: Service ;
7
7
use futures_util:: future:: FutureExt ;
@@ -10,14 +10,24 @@ use reqwest::blocking::Client;
10
10
use std:: io:: Write ;
11
11
use tokio:: io:: AsyncWriteExt ;
12
12
use tokio:: signal:: unix:: { signal, SignalKind } ;
13
+ use tracing:: Level ;
14
+ use tracing_subscriber:: { filter, prelude:: * } ;
13
15
14
16
const CORE_THREADS : usize = 4 ;
15
17
16
18
fn main ( ) -> Result < ( ) , Box < dyn std:: error:: Error > > {
17
19
let _sentry = cargo_registry:: sentry:: init ( ) ;
18
20
19
21
// Initialize logging
20
- tracing_subscriber:: fmt:: init ( ) ;
22
+
23
+ let log_filter = env:: var ( "RUST_LOG" )
24
+ . unwrap_or_default ( )
25
+ . parse :: < filter:: Targets > ( )
26
+ . expect ( "Invalid RUST_LOG value" ) ;
27
+
28
+ tracing_subscriber:: registry ( )
29
+ . with ( tracing_subscriber:: fmt:: layer ( ) . with_filter ( log_filter) )
30
+ . init ( ) ;
21
31
22
32
let config = cargo_registry:: config:: Server :: default ( ) ;
23
33
let env = config. env ( ) ;
0 commit comments