@@ -10,7 +10,8 @@ impl Logger {
1010 let mut log_builder = Builder :: from_env ( env_logger:: Env :: new ( ) . default_filter_or ( "info" ) ) ;
1111 log_builder
1212 . format ( |buf, record| {
13- let is_systemd_style = std:: env:: var ( "SYSTEMD_EXEC_PID" ) . is_ok ( ) ;
13+ let logging_style =
14+ std:: env:: var ( "VNS_LOGGIN_STYLE" ) . unwrap_or ( "NORMAL" . to_owned ( ) ) ;
1415
1516 let mut level_style = buf. style ( ) ;
1617 let mut time_style = buf. style ( ) ;
@@ -22,48 +23,53 @@ impl Logger {
2223 _ => Color :: Yellow ,
2324 } ) ;
2425 time_style. set_color ( Color :: Rgb ( 255 , 165 , 0 ) ) ;
25- if is_systemd_style {
26- writeln ! (
27- buf,
28- "<{}>{}: {}" ,
29- match record. level( ) {
30- log:: Level :: Error => 3 ,
31- log:: Level :: Warn => 4 ,
32- log:: Level :: Info => 6 ,
33- log:: Level :: Debug => 7 ,
34- log:: Level :: Trace => 7 ,
35- } ,
36- record. target( ) ,
37- record. args( )
38- )
39- . unwrap ( ) ;
40- } else {
41- match record. level ( ) . eq ( & Level :: Error ) {
42- // Write to stderr
43- true => eprintln ! (
44- "{} {} : {} \n \t {} \n \t {}" ,
45- buf. timestamp( ) . to_string( ) . color( RGB :: new( 255 , 165 , 0 ) ) ,
46- record. level( ) . to_string( ) . red( ) ,
47- record. args( ) . to_string( ) . trim( ) ,
48- format!( "target: {}" , record. target( ) ) ,
49- format!(
50- "file: {} ({})" ,
51- record. file( ) . unwrap( ) ,
52- record. line( ) . unwrap( ) . to_string( ) . yellow( )
53- ) ,
54- ) ,
5526
56- // Write to stdout (default)
57- _ => writeln ! (
27+ match logging_style. as_str ( ) {
28+ "SYSTEMD" => {
29+ writeln ! (
5830 buf,
59- "⌜{}⌟{ } : {}" ,
60- time_style. value( buf. timestamp( ) ) ,
61- level_style. value( record. level( ) ) ,
62- record. args( ) . to_string( ) . trim( )
31+ "<{}>{}: {}" ,
32+ match record. level( ) {
33+ log:: Level :: Error => 3 ,
34+ log:: Level :: Warn => 4 ,
35+ log:: Level :: Info => 6 ,
36+ log:: Level :: Debug => 7 ,
37+ log:: Level :: Trace => 7 ,
38+ } ,
39+ record. target( ) ,
40+ record. args( )
6341 )
64- . unwrap ( ) ,
42+ . unwrap ( ) ;
6543 }
66- }
44+ _ => {
45+ match record. level ( ) . eq ( & Level :: Error ) {
46+ // Write to stderr
47+ true => eprintln ! (
48+ "⌜{}⌟ {} : {} \n \t {} \n \t {}" ,
49+ buf. timestamp( ) . to_string( ) . color( RGB :: new( 255 , 165 , 0 ) ) ,
50+ record. level( ) . to_string( ) . red( ) ,
51+ record. args( ) . to_string( ) . trim( ) ,
52+ format!( "target: {}" , record. target( ) ) ,
53+ format!(
54+ "file: {} ({})" ,
55+ record. file( ) . unwrap( ) ,
56+ record. line( ) . unwrap( ) . to_string( ) . yellow( )
57+ ) ,
58+ ) ,
59+
60+ // Write to stdout (default)
61+ _ => writeln ! (
62+ buf,
63+ "⌜{}⌟{ } : {}" ,
64+ time_style. value( buf. timestamp( ) ) ,
65+ level_style. value( record. level( ) ) ,
66+ record. args( ) . to_string( ) . trim( )
67+ )
68+ . unwrap ( ) ,
69+ }
70+ }
71+ } ;
72+
6773 Ok ( ( ) )
6874 } )
6975 . target ( Stdout )
0 commit comments