命令记不住

登陆

Gin 日志模式

Gin日志模式

// SetMode sets gin mode according to input string.
func SetMode(value string) {
	switch value {
	case DebugMode, "":
		ginMode = debugCode
	case ReleaseMode:
		ginMode = releaseCode
	case TestMode:
		ginMode = testCode
	default:
		panic("gin mode unknown: " + value)
	}
	if value == "" {
		value = DebugMode
	}
	modeName = value
}

示例:

package main

import (
	"fmt"
	"net/http"

	"github.com/gin-gonic/gin"
)

func m2(c *gin.Context) {
	c.Set("username", "opxdev")
	fmt.Println("m2:after  c.Next()")
}

func indexHandler(c *gin.Context) {
	fmt.Println("index  Handler")
	username, ok := c.Get("username")
	if !ok {
		username = "匿名用户"
	}
	c.String(http.StatusOK, fmt.Sprintf("hello %v", username))
}

func main() {
	gin.SetMode(gin.ReleaseMode)
	r := gin.Default()
	r.GET("/", m2, indexHandler)
	r.Run()
}

运行结果

PS C:\Users\vSphere\go\src\proetcd\middlerware\04> go run  .\next.go
m2:after  c.Next()
index  Handler
[GIN] 2020/11/09 - 21:43:36 | 200 |            0s |       127.0.0.1 | GET      "/"
[GIN] 2020/11/09 - 21:43:36 | 404 |            0s |       127.0.0.1 | GET      "/favicon.ico"