(log_path string)
| 34 | var Logger *log.Logger |
| 35 | |
| 36 | func NewLogger(log_path string) *log.Logger { |
| 37 | if Logger != nil { |
| 38 | return Logger |
| 39 | } |
| 40 | // 首先根据全局设定设置日志输出 |
| 41 | Logger = log.New(os.Stdout, "", 0) |
| 42 | if gconfig.LogFile != "" { |
| 43 | _, err := os.Stat(log_path) |
| 44 | if err != nil { |
| 45 | if os.IsNotExist(err) { |
| 46 | os.Remove(log_path) |
| 47 | } |
| 48 | } |
| 49 | f, err := os.Create(log_path) |
| 50 | if err != nil { |
| 51 | Logger.Fatal(err) |
| 52 | os.Exit(1) |
| 53 | } |
| 54 | if gconfig.Quiet { |
| 55 | // 直接设置 则不会输出到终端 |
| 56 | Logger.SetOutput(f) |
| 57 | } else { |
| 58 | // 这样可以同时输出到终端 |
| 59 | mw := io.MultiWriter(os.Stdout, f) |
| 60 | Logger.SetOutput(mw) |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | return Logger |
| 65 | } |
| 66 | |
| 67 | var gconfig = config.NewGlobalConfig() |
| 68 | var mconfig = config.NewModuleConfig() |
no outgoing calls
no test coverage detected