组件分享之后端组件——用于将日志写入滚动文件的组件包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 国际许可协议 进行许可。


http://www.taodudu.cc/news/show-3001000.html

相关文章:

  • Golang高性能日志库zap + lumberjack 日志切割组件详解
  • go第三方日志库uber-go/zap、lumberjack
  • Gin框架组合(Zap、lumberjack、ini)使用手册
  • golang框架gin的日志处理和zap lumberjack日志使用
  • lumberjack 实现按时间分割日志文件
  • lumberjack
  • Golang日志框架lumberjack包源码分析
  • Golang zap和lumberjack实现日志存储和自动管理
  • ZAP日志框架lumberjack日志归档库的分析使用
  • 使用Lumberjack进行日志切割归档
  • 传世藏书 医部目录(1-6册)
  • 计算机硬盘密码解不开,Win10打不开磁盘显示需要输入48位恢复密钥以解锁此驱动器怎么办...
  • 3.5寸服务器硬盘v4,六碟巨兽 希捷Enterprise Capacity 3.5 HDD v4评测
  • 分享让世界更美丽,TopSemic有奖征文
  • 面试总结
  • java相关问题
  • 树状结构及文件目录详解
  • Windows上那些值得推荐的良心软件-整理
  • 病毒泄密一个接一个,有7招能保护你的数字生活
  • 京东商城项目实战(1)------京东商城首页
  • 【转载】Windows上那些值得推荐的良心软件-整理 easybcd 引导工具 easyuefi 引导工具...
  • 组FreeNas11.3的一点心得
  • [音乐欣赏]花与琴的流星
  • 王海良:开源引领信息技术创新
  • ASF 董事会是如何炼成的?
  • 重磅推荐 | SkyWalking未来初探(文末有福利哦)
  • 疯狂python讲义学习笔记——中十章完结
  • 华仔专辑
  • 全票通过!微众开源项目EventMesh进入Apache孵化器
  • 致COSCon’20最可爱的人们~

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

  1. 组件分享之后端组件——一个简单且高度可扩展的分布式文件系统seaweedfs

    组件分享之后端组件--一个简单且高度可扩展的分布式文件系统seaweedfs 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题 ...

  2. 组件分享之后端组件——Redis数据库的一个Go客户端redigo

    组件分享之后端组件--Redis数据库的一个Go客户端redigo 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类 ...

  3. 组件分享之后端组件——基于Golang实现的基于LDAP V3协议的操作包ldap

    组件分享之后端组件--基于Golang实现的基于LDAP V3协议的操作包ldap 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续 ...

  4. 组件分享之后端组件——基于Golang语言的游戏服务器框架leaf

    组件分享之后端组件--基于Golang语言的游戏服务器框架leaf 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类 ...

  5. 组件分享之后端组件——阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos...

    组件分享之后端组件--阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件 ...

  6. 组件分享之后端组件——基于Golang实现的高级消息队列协议 (AMQP) 的消息代理garagemq...

    组件分享之后端组件--基于Golang实现的高级消息队列协议 (AMQP) 的消息代理garagemq 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成 ...

  7. 组件分享之后端组件——国际化组件go-i18n

    组件分享之后端组件--国际化组件go-i18n 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件 ...

  8. 组件分享之后端组件——基于Golang实现的database/sql附加功能组件dbr

    组件分享之后端组件--基于Golang实现的database/sql附加功能组件dbr 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题, ...

  9. Log4j2配置日志写入本地文件出错

    报错ERROR Unable to create file C://error.log java.io.IOException: 拒绝访问. Could not create plugin of ty ...

最新文章

  1. Java项目:新闻发布系统(java+Springboot+ssm+mysql+maven)
  2. SQL Server 2005 Express 版
  3. (chap8 确认访问用户身份的认证) DIGES认证(摘要认证)
  4. 【干货】产品经理处理工作中突发事件的新技能Get!
  5. 大数据:从入门到XX(一)
  6. exchange 2010 日志规则应用之审计邮箱
  7. 关于python_关于python的基础知识
  8. uni-app + vue-cli3 安装axios、vant等依赖 - 操作篇
  9. 和朱晔一起复习Java并发(二):队列
  10. 监控openfire数据
  11. java遇到无穷大抛异常_Java中一个for语句导致无穷大死循环的例子
  12. database如何管理超过4GB的文件
  13. 此笔记只作为自身笔记,结构比较混乱,不建议参考,如有需要请访问其他文献,servlet的基础知识和使用
  14. Ubuntu小技巧13--grep命令详解
  15. 108-周跳探测之GF
  16. C++ - 整数反转
  17. 怎么把视频内存压缩小?视频内存过大怎么压缩?
  18. 机器学习词汇翻译解释(2)
  19. php 用户名长度,Discuz! X2修改注册用户名长度限制解决方案
  20. 学了代码之后,对于程序员黑客的区别,我的认识是......

热门文章

  1. 洗礼灵魂,修炼python(80)--全栈项目实战篇(8)—— 计算器
  2. 分布式架构之CAP理论/AP架构/CP架构
  3. Obsidian Windows同步到iCloud 再到ipad 云盘 我的电脑导航栏无法应用的问题
  4. 阿松嘚嘚嘚-数据库篇3-查询优化不简单(上)
  5. openGauss Summit 2021 | 汇聚数据库创新力量 逐梦数字时代星辰大海
  6. 黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!
  7. 无线传感器网络(期末重点)
  8. maya2018英文翻译_maya2018mac版如何改成英文?
  9. 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
  10. SDNU 1040.导弹拦截【NOIP1999】【8月9】