modulepackage
1.0.0
Repository: https://github.com/jjonline/share-mod-lib.git
Documentation: pkg.go.dev
# README
Logger 组件
说明
本包为zap日志组件封装,用于golang项目统一日志输出和收集。
使用示例
- 日志组件使用:
zap
- 日志输出选项:
stdout
stderr
| 日志目录 (指定存储目录) - 日志级别选项:
panic
fatal
error
warning
info
debug
- 生产环境级别:
info
- 开发测试级别:
debug
- 日志输出格式:
json
// instance
// 第一参数为日志级别
// 第二参数为日志存储路径,文件形式记录日志则是文件路径,标准输出则 stderr
var log = logger.New("debug", "stderr")
// 直接使用记录一段字符串日志
log.Debug("debug data")
log.Error("debug error")
// 直接使用底层zap记录多字段日志,性能更佳,推荐方式
log.Zap.Info(
"msg",
zap.String("module", "module-can-use-kibana"),
zap.String("sql", "your sql"),
zap.Int("num", 101),
)
本库亦封装实现了
redis
、elastic
、gorm
的logger实现,以使用底层zap
日志组件。
# Functions
GetRequestBody 获取请求body体 - strip 是否要将JSON类型的body体去除反斜杠和大括号,以便于Es等不做深层字段解析而当做一个字符串.
GetRequestID 暴露方法:读取当前请求ID.
GinCors 为gin开启跨域功能<尽量通过nginx反代处理>.
GinLogger zap实现的gin-logger日志中间件<gin.HandlerFunc的实现> - appendHandle 额外补充的自定义添加字段方法,可选参数.
GinLogHttpFail gin框架失败响应日志处理.
GinPrintInitRoute 为gin自定义注册路由日志输出 注意:因gin路由注册信息输出只有dev模式才有 若为了全面记录路由注册日志,调用 gin.SetMode 方法代码可写在路由注册之后,但就会出现gin的开发模式提示信息.
GinRecovery zap实现的gin-recovery日志中间件<gin.HandlerFunc的实现>.
IsModifyMethod 检查当前请求方式否为修改类型 - 即判断请求是否为post、put、patch、delete.
New 初始化单例logger -- level 日志级别:debug、info、warning 等 -- path 文件形式的日志路径 or 标准输出 stderr -- recordField 指定xxxRecord系列方法额外添加分门别类的方法的字段名称.
NewGorm2Logger 创建gorm2的logger实例.
# Constants
gin panic日志标记.
gin preflight 预检options请求类型日志.
gin request请求日志标记.
gin 业务层面失败响应日志标记.
gin 路由注册日志标记.
请求ID名称.
当使用纳秒时间戳作为请求ID时拼接的前缀字符串.
# Interfaces
InterFace 通用logger接口定义.