Go gin 日志文件的分割
当服务器常年运行的时候,日志文件就会非常的大,这里讲下用 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") }