@@ -17,38 +17,37 @@ $ export MY_LOG_STYLE=never
17
17
If you want to control the logging output completely, see the `custom_logger` example.
18
18
*/
19
19
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" ) ) ]
50
21
fn 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
+
51
47
init_logger ( ) ;
52
48
53
- info ! ( "a log from `MyLogger`" ) ;
49
+ log :: info!( "a log from `MyLogger`" ) ;
54
50
}
51
+
52
+ #[ cfg( not( all( feature = "termcolor" , feature = "humantime" ) ) ) ]
53
+ fn main ( ) { }
0 commit comments