29 lines
731 B
Go
29 lines
731 B
Go
package middleware
|
|
|
|
import (
|
|
"runtime"
|
|
"time"
|
|
|
|
"be.ems/src/framework/logger"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// Report 请求响应日志
|
|
func Report() gin.HandlerFunc {
|
|
return func(c *gin.Context) {
|
|
start := time.Now()
|
|
|
|
// 调用下一个处理程序
|
|
c.Next()
|
|
|
|
// 计算请求处理时间,并打印日志
|
|
duration := time.Since(start)
|
|
// logger.Infof("%s %s report end=> %v", c.Request.Method, c.Request.RequestURI, duration)
|
|
// 获取当前活跃的goroutine数量
|
|
num := runtime.NumGoroutine()
|
|
// logger.Infof("当前活跃的goroutine数量 %d\n", num)
|
|
logger.Infof("\n访问接口 %s %s\n总耗时 %v\n当前活跃的goroutine数量 %d\n", c.Request.Method, c.Request.RequestURI, duration, num)
|
|
}
|
|
}
|