虽说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`