文章目录
- 使用logurs处理程序日志
- logrus 常用配置
- 使用viper处理程序配置
使用logurs处理程序日志
- 下载包,在终端执行命令
go get github.com/sirupsen/logrus
- 官方示例
package mainimport (log "github.com/sirupsen/logrus"
)func main() {log.WithFields(log.Fields{"animal": "walrus","number": 1,"size": 10,}).Info("A walrus appears")
}
logrus 常用配置
- 把日志格式改成json
logrus.SetFormatter(&log.JSONFormatter{TimestampFormat: "2006-01-02 15:04:06"})
- 文件名和行号加进去
logrus.SetReportCaller(true)
3.控制日志级别
//这里设置成debug级别,系统默认是info级别,不会打印debug日志
logrus.SetLevel(logrus.DebugLevel)//通过环境变量获取日志级别if logLevel == "debug" {log.SetLevel(log.DebugLevel)} else {log.SetLevel(log.InfoLevel)}
使用viper处理程序配置
- 下载包,https://pkg.go.dev/github.com/spf13/viper#readme-install
go get github.com/spf13/viper
- 官方示例
viper.SetDefault("ContentDir", "content")
viper.SetDefault("LayoutDir", "layouts")
viper.SetDefault("Taxonomies", map[string]string{"tag": "tags", "category": "categories"})
- 通过环境变量方式加载程序配置
// 1.定义配置,key就是配置的名称viper.SetDefault("LOG_LEVEL", "debug")viper.SetDefault("DB_USERNAME", "root")viper.SetDefault("DB_PASSWORD", "")viper.SetDefault("DB_ADDRESS", "127.0.0.1")viper.SetDefault("DB_PORT", 3306)//2. 获取环境变量,viper设置的key名和系统配置了环境变量,默认自动绑定viper.AutomaticEnv()//3.获取程序的配置logLevel := viper.GetString("LOG_LEVEL")dbUsername := viper.GetString("DB_USERNAME")dbPort := viper.GetInt("DB_PORT")log.WithFields(log.Fields{"日志级别": logLevel,"数据库用户名": dbUsername,"数据库端口": dbPort,}).Debug("程序的配置信息") //4. windos或者linux下设置环境变量windows - 右击我的电脑-属性-高级- 环境变量linux export 环境变量名称=值// 5. 执行后查看debug日志