日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

组件分享之后端组件——用于将日志写入滚动文件的组件包lumberjack

發布時間:2023/12/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 组件分享之后端组件——用于将日志写入滚动文件的组件包lumberjack 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

組件分享之后端組件——用于將日志寫入滾動文件的組件包lumberjack

背景

近期正在探索前端、后端、系統端各類常用組件與工具,對其一些常見的組件進行再次整理一下,形成標準化組件專題,后續該專題將包含各類語言中的一些常用組件。歡迎大家進行持續關注。

組件基本信息

  • 組件:lumberjack
  • 開源協議: MIT license

內容

本節我們分享一個用于將日志寫入滾動文件的組件包lumberjack,它可以有效的配合zap組件進行快速使用。

Lumberjack 旨在成為伐木基礎設施的一部分。它不是一個多合一的解決方案,而是一個位于日志堆棧底部的可插入組件,它簡單地控制寫入日志的文件。

Lumberjack 可以很好地與任何可以寫入 io.Writer 的日志包配合使用,包括標準庫的日志包。

Lumberjack 假設只有一個進程正在寫入輸出文件。在同一臺機器上的多個進程中使用相同的伐木工人配置將導致不當行為。

具體使用方式如下:
1、安裝

go get gopkg.in/natefinch/lumberjack.v2

2、使用

log.SetOutput(&lumberjack.Logger{Filename: "/var/log/myapp/foo.log",MaxSize: 500, // megabytesMaxBackups: 3,MaxAge: 28, //daysCompress: true, // disabled by default })

3、和zap結合使用核心函數,其中配置參數部分自己定義一個結構體進行加載即可

// // getLogWriter // @Description: 日志文件分割配置 // @param filename // @return zapcore.WriteSyncer // func getLogWriter(fileName string) zapcore.WriteSyncer {lumberJackLogger := &lumberjack.Logger{Filename: fileName,MaxSize: config.Get().Log.MaxSize, //最大M數,超過則切割MaxBackups: config.Get().Log.MaxBackups, //最大文件保留數,超過就刪除最老的日志文件MaxAge: config.Get().Log.MaxAge, //保存30天Compress: config.Get().Log.Compress, //是否壓縮}return zapcore.AddSync(lumberJackLogger) }

更多該組件的使用方式,可以參考我編寫的Golang快速開發框架系列。

本文聲明:
88x31.png 知識共享許可協議
本作品由 cn華少 采用 知識共享署名-非商業性使用 4.0 國際許可協議 進行許可。

總結

以上是生活随笔為你收集整理的组件分享之后端组件——用于将日志写入滚动文件的组件包lumberjack的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。