3 Star 3 Fork 1

三三物联网 / ssiot-core

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
request_logger.go 1.00 KB
一键复制 编辑 原始数据 按行查看 历史
三三物联网 提交于 2023-04-03 00:22 . 重构
package api
import (
"gitee.com/sansaniot/ssiot-core/facade/runtime"
"gitee.com/sansaniot/ssiot-core/httpmvc"
"gitee.com/sansaniot/ssiot-core/logger"
"github.com/gin-gonic/gin"
"strings"
)
type loggerKey struct{}
// GetRequestLogger 获取上下文提供的日志
func GetRequestLogger(c *gin.Context) *logger.Helper {
var log *logger.Helper
l, ok := c.Get(httpmvc.LoggerKey)
if ok {
ok = false
log, ok = l.(*logger.Helper)
if ok {
return log
}
}
//如果没有在上下文中放入logger
requestId := httpmvc.GenerateMsgIDFromContext(c)
log = logger.NewHelper(runtime.Runtime.GetLogger()).WithFields(map[string]interface{}{
strings.ToLower(httpmvc.TrafficKey): requestId,
})
return log
}
// SetRequestLogger 设置logger中间件
func SetRequestLogger(c *gin.Context) {
requestId := httpmvc.GenerateMsgIDFromContext(c)
log := logger.NewHelper(runtime.Runtime.GetLogger()).WithFields(map[string]interface{}{
strings.ToLower(httpmvc.TrafficKey): requestId,
})
c.Set(httpmvc.LoggerKey, log)
}
1
https://gitee.com/sansaniot/ssiot-core.git
git@gitee.com:sansaniot/ssiot-core.git
sansaniot
ssiot-core
ssiot-core
v1.7.7

搜索帮助