之前做服务的时候一直在用seelog作为日志输出的库,用了一段时间发现还是挺好用的,最近有时间就来总结一下。

我这边用到的seelog一般都是将程序中的一些信息输入到日志文件中,方便调试和维护程序。日志中输出的基本信息有时间,日志等级,代码行数,方法名等等。输出日志的格式是通过XML配置文件完成的,这样日志内容的修改就不需要重新去编译程序。seelog功能比较强大除了这些特性还可以按照过滤条件输出,控制台输出等,感兴趣的同学可以去了解一下。链接如下,seelog

下面介绍一下seelog的相关配置,seelog中方法LoggerFromConfigAsFile()就是用来读取配置文件的,方法的参数为配置文件的路径。配置文件格式为xml,下面举个栗子:

<seelog minlevel="trace"><outputs formatid="common"><rollingfile type="size" filename="/var/log/test/test.log" maxsize="100" maxrolls="5"/></outputs><formats><!--<format id="common" format="%Date %Time %EscM(46)[%LEV]%EscM(49)%EscM(0) [%File:%Line] [%Func] %Msg%n" />--><format id="common" format="%Date %Time [%LEV] [%File:%Line] [%Func] %Msg%n" /></formats>
</seelog>

其中,outputs 是对日志的设置,format 是对输出格式的设置

minlevel—为日志输出的最低的等级,可以通过调整日志输出等级来对日志信息做出筛选,这也要求在编码时对日志输出的分类要明确。

rollingfile type—为日志回滚的方式,例子中为按写文件的大小进行,也可按照日期进行,按日期的对应配置为date。而且按照日期配置的话需要在配置一下日期格式datepattern–例如“2016.07.19”

filename—文件存储的路径

maxsize—文件最多的行数

maxrolls–日志保存的最大期限,此处会保存30天以内的日志(这个时间我还没有测过),如果是size的话就是文件个数

formate中的格式为包含了日期,时间,文件名,行数,函数名,输出的日志信息

这边是写了一个使用的例子

需要注意的是结束的时候要用Flush()函数

golang 日志库seelog 笔记相关推荐

  1. golang debug 配置_新鲜出炉的golang日志库

    新鲜出炉的golang日志记录库 https://github.com/zxysilent/logs​github.com 功能 日志等级 DEBUG.INFO.WARN.ERROR.FATAL 每天 ...

  2. glog日志库使用笔记

    日志能方便地诊断程序原因.统计程序运行数据,是大型软件系统必不可少的组件之一.glog 是google的开源日志系统,相比较log4系列的日志系统,它更加轻巧灵活. 在Github上下载glog,解压 ...

  3. Golang日志库Zap基本使用

    Zap Uber-go Zap简介 Zap Logger Logger Sugared Logger 配置Logger New函数详情 JSON Encoder Log Encoder 更改时间编码 ...

  4. log4j linux如果日志目录不存在,Java日志库学习笔记

    (未完成,待修改) 一.安装Log4j log4j的库文件可以在官方网站下载: 二.log4j.properties的目录搜索规则 在src/目录下创建一个log4j.properties文件,即LC ...

  5. golang日志库zerolog使用记录

    目录 效果 安装 配置 使用 效果 安装 github官方地址:https://github.com/rs/zerolog go get -u github.com/rs/zerolog/log 配置 ...

  6. 深度|从Go高性能日志库zap看如何实现高性能Go组件

    导语:zap是uber开源的Go高性能日志库.本文作者深入分析了zap的架构设计和具体实现,揭示了zap高效的原因.并且对如何构建高性能Go语言库给出自己的建议. 作者简介:李子昂,美图公司架构平台系 ...

  7. 深度 | 从Go高性能日志库zap看如何实现高性能Go组件

    导语:zap是uber开源的Go高性能日志库.本文作者深入分析了zap的架构设计和具体实现,揭示了zap高效的原因.并且对如何构建高性能Go语言库给出自己的建议. 作者简介:李子昂,美图公司架构平台系 ...

  8. golang第三方日志包seelog配置文件详解

    开发任何项目,都离不开日志,配好自己的项目日志输出,往往是开发项目的前提.在golang中,seelog应该是比较有名的日志处理包了,功能非常强大,seelog官方文档 一.seelog主要功能 下面 ...

  9. 日志库 winston 的学习笔记 - logger.info 的实现原理单步调试

    按照这篇文章日志库 winston 的学习笔记 - 创建一个使用 winston 的 Node.js 应用里的代码,对下列方法进行单步调试: 因为我们调用的是 info 方法,所以生成的日志,leve ...

最新文章

  1. yii2手动添加图片处理插件Imagine
  2. 反映参数名称:滥用C#lambda表达式还是语法亮度?
  3. WOJ 43 电话邀请
  4. html 在手机上运行,怎么在手机上打开HTML
  5. 三道题套路解决递归问题
  6. 一杯水怎么测试_天气渐热食欲差、体质虚怎么办?每天一杯能量水——驼奶
  7. python 批量查询网页导出结果_李亚涛:python批量查询网页收录情况并计算收录率...
  8. Jumpserver安装和总结
  9. 帮朋友配置的一台主机,配置发出来看看
  10. C# async/await 使用总结
  11. Mybatis 数据库Mysql时间范围内数据查询非常慢的解决办法
  12. exe模拟器android版,安卓exe模拟器
  13. 2017年Q1季移动App使用情况分析
  14. Fashion MNIST进行分类
  15. 从0开发豆果美食小程序——项目搭建
  16. Redis远程连接不上解决办法
  17. 2015中国智能硬件蛋年创新大会手记
  18. tdd干扰波形_TDDLTE干扰排查指导书_V1520170219.docx
  19. 微信朋友圈内测版-无视权限
  20. 链表,队列,堆栈的区别

热门文章

  1. CC00382.CloudKubernetes——|KuberNetesCI/CD.V20|——|Jenkins.v08|kubeconfig多集群配置.v02|
  2. 重学JavaWeb(11)JDBC
  3. 【坑】MySQL数据库对于毫秒大于500的数据会进位
  4. JavaScript 当前时间显示(js)
  5. 天下文章一大抄看你会抄不会抄devGridView凭证金额录入(万仟百拾元)
  6. 关于【统一权限系统】概况
  7. 海量数据相关面试问题(二):海量数据热点数据/出现频度/TOP-K问题(TOP-K 分而治之/Hash映射 / Hashmap统计频度 / 堆排序决出排名)
  8. 算法总结——JS实现递归
  9. 高人总结,告诉你输入输出阻抗是怎么回事?
  10. 如何在JS中计算扑克牌中的顺子、对子、半顺、豹子、杂六