Update console.go
使用json直接初始化系统变量,代码更简单,并且便于后期扩展
Showing
1 changed file
with
4 additions
and
8 deletions
| ... | @@ -8,30 +8,26 @@ import ( | ... | @@ -8,30 +8,26 @@ import ( |
| 8 | 8 | ||
| 9 | type ConsoleWriter struct { | 9 | type ConsoleWriter struct { |
| 10 | lg *log.Logger | 10 | lg *log.Logger |
| 11 | level int | 11 | Level int `json:"level"` |
| 12 | } | 12 | } |
| 13 | 13 | ||
| 14 | func NewConsole() LoggerInterface { | 14 | func NewConsole() LoggerInterface { |
| 15 | cw := new(ConsoleWriter) | 15 | cw := new(ConsoleWriter) |
| 16 | cw.lg = log.New(os.Stdout, "", log.Ldate|log.Ltime) | 16 | cw.lg = log.New(os.Stdout, "", log.Ldate|log.Ltime) |
| 17 | cw.level = LevelTrace | 17 | cw.Level = LevelTrace |
| 18 | return cw | 18 | return cw |
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | func (c *ConsoleWriter) Init(jsonconfig string) error { | 21 | func (c *ConsoleWriter) Init(jsonconfig string) error { |
| 22 | var m map[string]interface{} | 22 | err := json.Unmarshal([]byte(jsonconfig), c) |
| 23 | err := json.Unmarshal([]byte(jsonconfig), &m) | ||
| 24 | if err != nil { | 23 | if err != nil { |
| 25 | return err | 24 | return err |
| 26 | } | 25 | } |
| 27 | if lv, ok := m["level"]; ok { | ||
| 28 | c.level = int(lv.(float64)) | ||
| 29 | } | ||
| 30 | return nil | 26 | return nil |
| 31 | } | 27 | } |
| 32 | 28 | ||
| 33 | func (c *ConsoleWriter) WriteMsg(msg string, level int) error { | 29 | func (c *ConsoleWriter) WriteMsg(msg string, level int) error { |
| 34 | if level < c.level { | 30 | if level < c.Level { |
| 35 | return nil | 31 | return nil |
| 36 | } | 32 | } |
| 37 | c.lg.Println(msg) | 33 | c.lg.Println(msg) | ... | ... |
-
Please register or sign in to post a comment