当服务器常年运行的时候,日志文件就会非常的大,这里讲下用 gin 框架如果切割日志文件,代码如下:
package main
import (
"github.com/gin-gonic/gin"
rotatelogs "github.com/lestrrat-go/file-rotatelogs"
"time"
"io"
)
func main() {
// 禁用控制台颜色
gin.DisableConsoleColor()
// 创建记录日志的文件
path := "gin"
writer, _ := rotatelogs.New(
path+"%Y%m%d%H%M.log",
rotatelogs.WithLinkName(path),
rotatelogs.WithMaxAge(time.Duration(180)*time.Second),
//这里设置1分钟产生一个日志文件
rotatelogs.WithRotationTime(time.Duration(60)*time.Second),
)
gin.DefaultWriter = io.MultiWriter(writer)
// 如果需要将日志同时写入文件和控制台,请使用以下代码
// gin.DefaultWriter = io.MultiWriter(writer, os.Stdout)
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.String(200, "hello gin")
})
router.Run(":8080")
}