公司动态
go 日志框架
内置logimport ( log os ) func main() { // 设置log log.SetFlags(log.Llongfile | log.Lmicroseconds | log.Ldate) // 自定义日志前缀 log.SetPrefix([pprof]) log.Println(main ..) // 如果用format就用PrintF而不是Print打印out 2025/02/13 11:32:45 普通日志日志 log.Printf(普通日志%s\n, 日志) /** 2025/02/13 11:32:45 普通日志%s 日志 */ log.Print(普通日志%s\n, 日志) // 自定义 logger : log.New(os.Stdout, New, log.Lshortfile|log.Ldate|log.Ltime) logger.Println(这是自定义的logger记录的日志。) // 严重错误 log.Fatalln(严重错误) // Panic系列函数会在写入日志信息后panic // 在 Go 语言中panic 是一种用于处理程序异常情况的机制。 //当程序遇到无法继续执行的严重错误时可以通过 panic 触发一个运行时错误 //导致程序立即停止当前函数的执行并开始执行延迟函数defer最后退出程序。 log.Panic(使人惶恐的) }zapgithubhttps://github.com/uber-go/zapimport ( go.uber.org/zap ) /* * {level:info,ts:1739418401.0806556,caller:src/test1.go:11,msg:This i s an info log,key:value,count:1} {level:warn,ts:1739418401.0812044,caller:src/test1.go:15,msg:This i s an info log,key:value,count:1} {level:error,ts:1739418401.0812044,caller:src/test1.go:19,msg:This is an info log,key:value,count:1,stacktrace:main.main\n\t***src/test1.go:19\nruntime.main\n\tC:/Program Files/Go/src/runtime/proc.g o:267} */ func main() { logger, _ : zap.NewProduction() defer logger.Sync() logger.Info(This is an info log, zap.String(key, value), zap.Int(count, 1), ) logger.Warn(This is an info log, zap.String(key, value), zap.Int(count, 1), ) logger.Error(This is an info log, zap.String(key, value), zap.Int(count, 1), ) }