當服務器常年運行的時候,日志文件就會非常的大,這里講下用 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")
}
