虽说go有自己的log内部实现,但是用起来呢我不太舒服,所以重新造了个。
```go
package main
import (
"github.com/gamelife1314/logging"
"os"
)
func main() {
logger := logging.GetDefaultLogger()
logger.Debug("hello world, %s", "logging")
logger.Info("hello world, %s", "logging")
logger.Warning("hello world, %s", "logging")
logger.Error("hello world, %s", "logging")
logger.Critical("hello world, %s", "logging")
logFile, _ := os.OpenFile("log.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
defer logFile.Close()
logger2 := &logging.Logger{
Level: logging.DEBUG,
StreamHandler: &logging.StreamMessageHandler{
Level: logging.DEBUG,
Formatter: &logging.MessageFormatter{
Format: `{{.Color}}[{{.Time}}] {{.LevelString | printf "%8s"}} {{.FuncName}} {{.ShortFileName}} {{.Line}} {{.ColorClear}} {{.Message}}`,
TimeFormat: "2006-01-02 15:04:05",
},
Destination: os.Stdout,
},
FileHandler: &logging.FileMessageHandler{
Level: logging.ERROR,
Formatter: &logging.MessageFormatter{
Format: "[{{.Time}}] {{.LevelString}} {{.Pid}} {{.Program}} {{.FuncName}} {{.LongFileName}} {{.Line}}{{.Message}}\n",
},
Destination: logFile,
},
}
logger2.Debug("hello world")
}
```
输出图示:
![logging](https://github.com/gamelife1314/logging/raw/master/examples/example.png)
项目地址:[https://github.com/gamelife1314/logging](https://github.com/gamelife1314/logging)
安装:`go get github.com/gamelife1314/logging`
有疑问加站长微信联系(非本文作者))