12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package middleware
- import (
- "bytes"
- "fmt"
- "gin-vue-admin/global"
- "github.com/gin-gonic/gin"
- "io/ioutil"
- "net/http"
- "time"
- )
- var body []byte
- func RecordRequestBody() gin.HandlerFunc {
- return func(c *gin.Context) {
- if c.Request.Method != http.MethodGet {
- var err error
- body, err = ioutil.ReadAll(c.Request.Body)
- if err != nil {
- global.GVA_LOG.Error(err)
- }
- c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(body))
- } else {
- body = nil
- }
- }
- }
- func OperationRecord() gin.HandlerFunc {
- return gin.LoggerWithConfig(gin.LoggerConfig{
- Formatter: func(param gin.LogFormatterParams) string {
- return fmt.Sprintf("%s - [%s] \"%s %s %s %d %s \"%s\" \"%s\" %s\"\n",
- param.ClientIP,
- param.TimeStamp.Format(time.RFC1123),
- param.Method,
- param.Path,
- param.Request.Proto,
- param.StatusCode,
- param.Latency,
- param.Request.UserAgent(),
- string(body),
- param.ErrorMessage,
- )
- },
- // 暂时没考虑好
- Output: nil,
- SkipPaths: global.GVA_CONFIG.Operation.SkipPaths,
- })
- }
|