当前位置: 首页 > 工具软件 > Seelog > 使用案例 >

golang 日志库seelog 笔记

澹台景辉
2023-12-01

之前做服务的时候一直在用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()函数

 类似资料: