您的位置:首页 > 汽车 > 时评 > 办公室装修工程_企业展示网站_刷评论网站推广_2021搜索引擎排名

办公室装修工程_企业展示网站_刷评论网站推广_2021搜索引擎排名

2025/2/24 4:05:29 来源:https://blog.csdn.net/qq_42938493/article/details/144279171  浏览:    关键词:办公室装修工程_企业展示网站_刷评论网站推广_2021搜索引擎排名
办公室装修工程_企业展示网站_刷评论网站推广_2021搜索引擎排名

棋牌项目Go的日志打印问题

  • 项目使用 go work 管理
  • 模块 github.com/spf13/viper 通过 application.yml 加载配置
$ tree
.
├── README.md
├── common
│   ├── application.yml
│   ├── config
│   │   └── config.go
│   ├── go.mod
│   ├── go.sum
│   ├── logs
│   │   └── logs.go
│   └── main.go
├── config
├── connector
│   └── go.mod
├── core
│   └── go.mod
├── framework
│   └── go.mod
├── game
│   └── go.mod
├── gate
│   └── go.mod
├── go.work
├── go.work.sum
├── hall
│   └── go.mod
└── user├── app├── application.yml├── go.mod└── main.go
  • application.yml 配置的日志等级为 debug
    • 应用名为 user
appName: user
log:level: DEBUG

配置日志模块

  • 安装日志模块: github.com/charmbracelet/log
  • 封装日志, 以便直接调用
    • common/logs/logs.go
package logsimport ("common/config""os""time""github.com/charmbracelet/log"
)var logger *log.Loggerfunc InitLog(appName string) {logger = log.NewWithOptions(os.Stderr, log.Options{Prefix:          appName,ReportTimestamp: true,TimeFormat:      time.DateTime,Level:           log.InfoLevel,})if config.Conf.Log.Level == "DEBUG" {logger.SetLevel(log.DebugLevel)}
}func Fatal(format string, values ...any) {if len(values) == 0 {logger.Fatal(format)} else {logger.Fatal(format, values...)}
}func Info(format string, values ...any) {if len(values) == 0 {logger.Fatal(format)} else {logger.Fatalf(format, values...)}
}func Debug(format string, values ...any) {if len(values) == 0 {logger.Debug(format)} else {logger.Debug(format, values...)}
}func Error(format string, values ...any) {if len(values) == 0 {logger.Error(format)} else {logger.Error(format, values...)}
}
  • 调用日志
    • main.go
package mainimport ("common/config""common/logs""github.com/charmbracelet/log"
)func main() {config.InitConfig("./application.yml")logs.InitLog("test")log.Info("Hello, World!")log.Error("Hello, World!")log.Info("Hello, World!")a := 1go func() {log.Info(a)}()select {}
}
  • 运行命令, 可以看到日志被打印出来
    在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com