zoukankan      html  css  js  c++  java
  • 日志

    1. 写日志文件

    func main() {
    	// 禁用控制台颜色
    	gin.DisableConsoleColor()
    
    	// 创建记录日志的文件
    	// os包提供了操作系统函数的不依赖平台的接口
    	f, _ := os.Create("gin.log")
    	// io包 读,写
    	gin.DefaultWriter = io.MultiWriter(f)
    
    	// 如果需要将日志同时写入文件和控制台,请使用以下代码
    	// gin.DefaultWriter = io.MultiWriter(f, os.Stdout)
    
    	router := gin.Default()
    	router.GET("/ping", func(c *gin.Context) {
    		c.String(200, "pong")
    	})
    
    	router.Run(":8080")
    }
    [GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

    [GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
    - using env: export GIN_MODE=release
    - using code: gin.SetMode(gin.ReleaseMode)

    [GIN-debug] GET /ping --> main.main.func1 (3 handlers)
    [GIN-debug] Listening and serving HTTP on :8080
    [GIN] 2020/06/16 - 17:19:21 | 404 | 0s | 127.0.0.1 | GET "/user/:123456"
    [GIN] 2020/06/16 - 17:19:25 | 200 | 0s | 127.0.0.1 | GET "/ping"

    2. 自定义日志

    func main() {
    	router := gin.New()
    
    	// LoggerWithFormatter 中间件会将日志写入 gin.DefaultWriter
    	// By default gin.DefaultWriter = os.Stdout
    	router.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string {
    
    		// 你的自定义格式
    		return fmt.Sprintf("%s - [%s] "%s %s %s %d %s "%s" %s"
    ",
    			param.ClientIP,
    			param.TimeStamp.Format(time.RFC1123),
    			param.Method,
    			param.Path,
    			param.Request.Proto,
    			param.StatusCode,
    			param.Latency,
    			param.Request.UserAgent(),
    			param.ErrorMessage,
    		)
    	}))
    	router.Use(gin.Recovery())
    
    	router.GET("/ping", func(c *gin.Context) {
    		c.String(200, "pong")
    	})
    
    	router.Run(":8080")
    }
    

      

  • 相关阅读:
    [转载]IT名企的薪资情况
    [转载]基于Oracle的高性能动态SQL程序开发(一)
    [转载]基于Oracle的高性能动态SQL程序开发(二)
    [转载]从Google身上可以学到的14个东西
    两篇励志故事
    《RedHat9系统管理》读书笔记 下载
    Linux各种版本下载
    Hibernate介绍, 语法 和 Hibernate的基本元素
    android中系统日期时间的获取
    关于Struts框架简介
  • 原文地址:https://www.cnblogs.com/yzg-14/p/13143181.html
Copyright © 2011-2022 走看看