hotgo/server/internal/logic/hook/global_log.go
2022-11-24 23:37:34 +08:00

38 lines
872 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Package hook
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2022 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
//
package hook
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gtime"
"hotgo/internal/library/contexts"
"hotgo/internal/service"
)
// GlobalLog 全局日志
func (s *sHook) GlobalLog(r *ghttp.Request) {
var (
ctx = r.Context()
)
// 没有上下文的请求不记录doc、favicon.ico等非功能类业务
modelCtx := contexts.Get(ctx)
if modelCtx == nil {
return
}
// 计算运行耗时
contexts.SetTakeUpTime(ctx, gtime.TimestampMilli()-r.EnterTime)
go func() {
if err := service.SysLog().AutoLog(ctx); err != nil {
g.Log().Info(ctx, "GlobalLog AutoLog err:", err)
}
}()
}