后端开发总结(4):日志打印

日志

1 日志类型

panic > error > warn >info >debug

2 日志分类

日志重要性:多打印日志,方便排查错误

  • debug,用于调试打印信息,开启info级别之后不显示

    • 输入了什么参数,输出了什么参数,计算结果,这些参数类,需要知道值,可以打印debug
    • 执行路径,类似于 if else 它走了什么路径,方便知道代码执行路径,定位问题
    • 重要节点,重要逻辑,执行情况,打印
  • info,也是用于打印调试信息,与debug类似,区别在于测试环境中是否会显示出来

  • warn,执行出了一些意外,但是不会影响核心业务逻辑的执行

    • 值允许,但异常。取参数没取到,参数值为空
    • 修改影响行数为0
    • 相关的非核心业务调用没有正常执行
  • error,服务出错了,但是还能跑,一般会对日志中的error信息进行计数,当一分钟打印超过多少时,需要人为介入处理

    • 对于return 类型的错误,按照是否为核心逻辑确定打印error还是info
    • 捕捉的各种错误,可以考虑
    • 数据库操作的各种异常
  • panic,基本报一次,服务直接挂了

    • 数据库连接错误
    • 各种初始化错误

3 错误信息书写

log.Bizlogger.Error("Error during query : param empty")
log.Bizlogger.Infof("sql:%s,args:%v", toSql, args)
log.Bizlogger.Errorf("Error during count,err:%v", err)
log.Bizlogger.Errorf("Error during json unmarshal,err:%v", err)

4 定制个人日志格式

// 日志格式
logger.WithFields(logrous.Fields{
    
    
    "statusCode": statusCode,
    "cost":       cost,
    "clientIp":   clientIP,
    "method":     reqMethod,
    "uri":        reqURI,
    "ua":         ua,
})

猜你喜欢

转载自blog.csdn.net/qq_42647903/article/details/127575802