@@ -21,12 +21,9 @@ pub fn init_std_out_logging() {
21
21
tracing:: subscriber:: set_global_default ( collector) . expect ( "Unable to set a global collector" ) ;
22
22
}
23
23
24
- pub fn init_logging ( config : & Config , part : u32 ) -> ( WorkerGuard , Option < WriterGuard > ) {
24
+ pub fn init_logging ( config : & Config , part : u32 ) -> ( Option < WorkerGuard > , Option < WriterGuard > ) {
25
25
let file_discriminant = part. to_string ( ) ;
26
26
let dir = PathBuf :: from ( & config. output ( ) . output_dir ) ;
27
- let log_file_name = format ! ( "log_process_{file_discriminant}.txt" ) ;
28
- let log_file_appender = rolling:: never ( & dir, log_file_name) ;
29
- let ( log_file, _guard_log) = non_blocking ( log_file_appender) ;
30
27
31
28
let ( csv_layer, guard) = if let Profiling :: CSV ( level) = config. output ( ) . profiling {
32
29
let duration_dir = dir. join ( "instrument" ) ;
@@ -38,16 +35,23 @@ pub fn init_logging(config: &Config, part: u32) -> (WorkerGuard, Option<WriterGu
38
35
} else {
39
36
( None , None )
40
37
} ;
38
+ let ( log_layer, log_guard) = if Logging :: Info == config. output ( ) . logging {
39
+ let log_file_name = format ! ( "log_process_{file_discriminant}.txt" ) ;
40
+ let log_file_appender = rolling:: never ( & dir, log_file_name) ;
41
+ let ( log_file, log_guard) = non_blocking ( log_file_appender) ;
42
+ let layer = fmt:: Layer :: new ( )
43
+ . with_writer ( log_file)
44
+ . json ( )
45
+ . with_ansi ( false )
46
+ . with_filter ( LevelFilter :: INFO ) ;
47
+ ( Some ( layer) , Some ( log_guard) )
48
+ } else {
49
+ ( None , None )
50
+ } ;
41
51
42
52
let collector = tracing_subscriber:: registry ( )
43
53
. with ( csv_layer)
44
- . with ( ( config. output ( ) . logging == Logging :: Info ) . then ( || {
45
- fmt:: Layer :: new ( )
46
- . with_writer ( log_file)
47
- . json ( )
48
- . with_ansi ( false )
49
- . with_filter ( LevelFilter :: INFO )
50
- } ) )
54
+ . with ( log_layer)
51
55
// process 0 should log to console as well
52
56
. with ( ( part == 0 ) . then ( || {
53
57
fmt:: layer ( )
@@ -57,5 +61,5 @@ pub fn init_logging(config: &Config, part: u32) -> (WorkerGuard, Option<WriterGu
57
61
} ) ) ;
58
62
59
63
tracing:: subscriber:: set_global_default ( collector) . expect ( "Unable to set a global collector" ) ;
60
- ( _guard_log , guard)
64
+ ( log_guard , guard)
61
65
}
0 commit comments