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