go : gin + lumberjack 输出日志文件
生活随笔
收集整理的這篇文章主要介紹了
go : gin + lumberjack 输出日志文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
func init() {
//標準日志庫logFile, err := os.OpenFile("logs/goserver.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)if err != nil {fmt.Println("open log file failed,err:",err)return}//lumberjack日志滾動記錄器//lumberjack是一個日志滾動記錄器。可以把日志文件根據大小、日期等分割。一般情況下,//lumberjack配合其他日志庫,實現日志的滾動(rolling)記錄。log.SetOutput(&lumberjack.Logger{Filename: "logs/goserver.log", //日志文件得位置MaxSize: 1, //切割之前日志文件得大小(單位:MB)MaxBackups: 3, //保留舊文件得最大個數MaxAge: 5, //保留舊文件得最大天數Compress: true, //是否壓縮舊文件})//設置標準記錄器的輸出標志 :完整文件名和行號 微秒分辨率 本地時區中的日期log.SetFlags(log.Llongfile | log.Ltime |log.Ldate)//同時寫文件和屏幕multiWriter := io.MultiWriter(os.Stdout, logFile)log.SetOutput(multiWriter)gin.DefaultWriter = multiWriter}
//簡單實現
package mainimport ("io""os""github.com/gin-gonic/gin"
)func main() {// Logging to a file.f, _ := os.Create("gin.log")gin.DefaultWriter = io.MultiWriter(f)// Use the following code if you need to write the logs to file and console at the same time.// gin.DefaultWriter = io.MultiWriter(f, os.Stdout)router := gin.Default()router.GET("/ping", func(c *gin.Context) {c.String(200, "pong")})router.Run(":8080")
}
總結
以上是生活随笔為你收集整理的go : gin + lumberjack 输出日志文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: User Exit
- 下一篇: EFR32 xG1x的bootloade