@@ -17,38 +17,37 @@ $ export MY_LOG_STYLE=never
1717If you want to control the logging output completely, see the `custom_logger` example.
1818*/
1919
20- #[ macro_use]
21- extern crate log;
22- extern crate env_logger;
23-
24- use std:: io:: Write ;
25-
26- use env_logger:: { Env , Builder , fmt} ;
27-
28- fn init_logger ( ) {
29- let env = Env :: default ( )
30- . filter ( "MY_LOG_LEVEL" )
31- . write_style ( "MY_LOG_STYLE" ) ;
32-
33- let mut builder = Builder :: from_env ( env) ;
34-
35- // Use a different format for writing log records
36- // The colors are only available when the `termcolor` dependency is (which it is by default)
37- #[ cfg( feature = "termcolor" ) ]
38- builder. format ( |buf, record| {
39- let mut style = buf. style ( ) ;
40- style. set_bg ( fmt:: Color :: Yellow ) . set_bold ( true ) ;
41-
42- let timestamp = buf. timestamp ( ) ;
43-
44- writeln ! ( buf, "My formatted log ({}): {}" , timestamp, style. value( record. args( ) ) )
45- } ) ;
46-
47- builder. init ( ) ;
48- }
49-
20+ #[ cfg( all( feature = "termcolor" , feature = "humantime" ) ) ]
5021fn main ( ) {
22+ use env_logger:: { fmt, Builder , Env } ;
23+ use std:: io:: Write ;
24+
25+ fn init_logger ( ) {
26+ let env = Env :: default ( )
27+ . filter ( "MY_LOG_LEVEL" )
28+ . write_style ( "MY_LOG_STYLE" ) ;
29+
30+ Builder :: from_env ( env)
31+ . format ( |buf, record| {
32+ let mut style = buf. style ( ) ;
33+ style. set_bg ( fmt:: Color :: Yellow ) . set_bold ( true ) ;
34+
35+ let timestamp = buf. timestamp ( ) ;
36+
37+ writeln ! (
38+ buf,
39+ "My formatted log ({}): {}" ,
40+ timestamp,
41+ style. value( record. args( ) )
42+ )
43+ } )
44+ . init ( ) ;
45+ }
46+
5147 init_logger ( ) ;
5248
53- info ! ( "a log from `MyLogger`" ) ;
49+ log :: info!( "a log from `MyLogger`" ) ;
5450}
51+
52+ #[ cfg( not( all( feature = "termcolor" , feature = "humantime" ) ) ) ]
53+ fn main ( ) { }
0 commit comments