Golang日志--Seelog的简单用法

前端之家收集整理的这篇文章主要介绍了Golang日志--Seelog的简单用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Golang日志--Seelog的简单用法

原创 2015年02月26日 18:35:27

Beego自带的log包虽然功能比较完善,但是在日志中会带上日志级别的时间戳,而且这个时间戳还删除不了。

因为项目需要,所以研究了下Golang中其他的日志包,发现seelog正好能满足俺们项目的需要,因此在这做简单介绍。

seelog的地址:"github.com/cihub/seelog"

seelog功能强大,在此简单介绍将日志配置保存在xml文件中,并从文件获取配置,然后使用的流程。

在controllers包的某个文件中:

[plain] view plain copy
  1. mainlog,_=seelog.LoggerFromConfigAsFile("conf/seelog-main.xml")
LoggerFromConfigAsFile会从后面的文件获取日志配置,如上则是从conf包的seelog-main.xml文件获取配置;

seelog-main.xml文件内容如下:

copy
    <seelog>
  1. <outputsformatid="main">
  2. <bufferedsize="10000"flushperiod="1000">
  3. <rollingfiletype="date"filename="/var/log/main.log"datepattern="2006.01.02"maxrolls="30"/>
  4. </buffered>
  5. </outputs>
  6. <formats>
  7. <formatid="main"format="%Msg%n"/>
  8. </formats>
  9. </seelog>

其中:

outputs里面是日志的配置,formats里面是日志输出格式配置。

formatid对应下面的formats里对应id的输出格式。

buffered指的是缓冲设置:

size--缓冲区大小,单位byte;flushperiod--缓冲间隔,单位ms

rollingfile里面是日志的设置:

type--回滚的方式,date指按日期回滚,size指按大小回滚

filename--文件路径

datepattern--日期的格式,按日期回滚时才会有此选项

maxrolls--日志保存的最大期限,此处会保存30天以内的日志

format里面:

id--对应的outputs的formatid

format--日志输出的格式,%Msg%n表示只会输出日志并换行

使用的时候,如下:

copy
    defermainlog.Flush()
  1. mainlog.Info("需要输入的日志")
即可。以后会完善seelog的用法

转自: http://www.jb51.cc/article/p-zhvkwhvb-bda.html

猜你在找的Go相关文章