我大概要那么几个功能,log到文件,可以分级,可以配置(比如命令行或者配置文件选为release,那么Info的就不log出来),log文件大小到一定程度创建新文件(不然太慢了)。
你说的这些功能,通过给Logger设置自己实现的Writer就可以实现。一般都是自定义个io.Writer实现一些文件分割的功能,然后用标准库的log包。
用seelog吧。https://github.com/cihub/seelog
发一个自己日常和工作中用的log包,封装标准库增加Level和Rotate功能,代码不多,直接看代码吧。
推荐我们生产环境正在使用的库,基于logrus修改
https://github.com/gogap/logrus