1- use std:: {
2- env,
3- io:: { self , Write } ,
4- } ;
1+ use std:: env;
52
6- use env_logger:: { fmt:: Formatter , Builder } ;
7- use log:: { LevelFilter , Record } ;
8- use time:: { Date , Time } ;
3+ use env_logger:: Builder ;
4+ use log:: LevelFilter ;
95
10- pub fn init ( without_time : bool , debug_level : u64 , bin_name : & str ) {
6+ pub fn init ( debug_level : u64 , bin_name : & str ) {
117 let mut log_builder = Builder :: new ( ) ;
12- log_builder. filter ( None , LevelFilter :: Info ) ;
8+ log_builder. filter ( None , LevelFilter :: Info ) . default_format ( ) ;
139
1410 match debug_level {
1511 0 => {
1612 // Default filter
17- log_builder. format ( move |fmt, r| log_time ( fmt, without_time, r) ) ;
1813 }
1914 1 => {
20- let log_builder = log_builder. format ( move |fmt, r| log_time_module ( fmt, without_time, r) ) ;
2115 log_builder. filter ( Some ( bin_name) , LevelFilter :: Debug ) ;
2216 }
2317 2 => {
24- let log_builder = log_builder. format ( move |fmt, r| log_time_module ( fmt, without_time, r) ) ;
2518 log_builder
2619 . filter ( Some ( bin_name) , LevelFilter :: Debug )
2720 . filter ( Some ( "shadowsocks" ) , LevelFilter :: Debug ) ;
2821 }
2922 3 => {
30- let log_builder = log_builder. format ( move |fmt, r| log_time_module ( fmt, without_time, r) ) ;
3123 log_builder
3224 . filter ( Some ( bin_name) , LevelFilter :: Trace )
3325 . filter ( Some ( "shadowsocks" ) , LevelFilter :: Trace ) ;
3426 }
3527 _ => {
36- let log_builder = log_builder. format ( move |fmt, r| log_time_module ( fmt, without_time, r) ) ;
3728 log_builder. filter ( None , LevelFilter :: Trace ) ;
3829 }
3930 }
@@ -44,40 +35,3 @@ pub fn init(without_time: bool, debug_level: u64, bin_name: &str) {
4435
4536 log_builder. init ( ) ;
4637}
47-
48- fn log_time ( fmt : & mut Formatter , without_time : bool , record : & Record ) -> io:: Result < ( ) > {
49- if without_time {
50- writeln ! ( fmt, "[{}] {}" , record. level( ) , record. args( ) )
51- } else {
52- writeln ! (
53- fmt,
54- "[{}][{}][{}] {}" ,
55- Date :: today( ) . format( "%Y-%m-%d" ) ,
56- Time :: now( ) . format( "%H:%M:%S" ) ,
57- record. level( ) ,
58- record. args( )
59- )
60- }
61- }
62-
63- fn log_time_module ( fmt : & mut Formatter , without_time : bool , record : & Record ) -> io:: Result < ( ) > {
64- if without_time {
65- writeln ! (
66- fmt,
67- "[{}] [{}] {}" ,
68- record. level( ) ,
69- record. module_path( ) . unwrap_or( "*" ) ,
70- record. args( )
71- )
72- } else {
73- writeln ! (
74- fmt,
75- "[{}][{}][{}] [{}] {}" ,
76- Date :: today( ) . format( "%Y-%m-%d" ) ,
77- Time :: now( ) . format( "%H:%M:%S" ) ,
78- record. level( ) ,
79- record. module_path( ) . unwrap_or( "*" ) ,
80- record. args( )
81- )
82- }
83- }
0 commit comments