第十三章 Go包管理

使用logurs处理程序日志

  1. 下载包,在终端执行命令
go get github.com/sirupsen/logrus
  1. 官方示例
package main

import (
  log "github.com/sirupsen/logrus"
)

func main() {
  log.WithFields(log.Fields{
    "animal": "walrus",
    "number": 1,
    "size":   10,
  }).Info("A walrus appears")
}

logrus 常用配置

  1. 把日志格式改成json
logrus.SetFormatter(&log.JSONFormatter{TimestampFormat: "2006-01-02 15:04:06"})
  1. 文件名和行号加进去
logrus.SetReportCaller(true)

3.控制日志级别

//这里设置成debug级别,系统默认是info级别,不会打印debug日志
logrus.SetLevel(logrus.DebugLevel)

//通过环境变量获取日志级别
	if logLevel == "debug" {
		log.SetLevel(log.DebugLevel)
	} else {
		log.SetLevel(log.InfoLevel)
	}

使用viper处理程序配置

  1. 下载包,https://pkg.go.dev/github.com/spf13/viper#readme-install
go get github.com/spf13/viper
  1. 官方示例
viper.SetDefault("ContentDir", "content")
viper.SetDefault("LayoutDir", "layouts")
viper.SetDefault("Taxonomies", map[string]string{"tag": "tags", "category": "categories"})
  1. 通过环境变量方式加载程序配置
	// 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日志
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值