golang echo日志打点、接口访问、数据统计
Contents
日志部分我们使用echo的logger配置和gommon的log,输出到业务项目文件夹log下的interface.log、logging.log、record.log,同时也支持输出到控制台。其中interface.log用于记录接口访问日志,logging.log用于记录代码打点日志,record.log用于记录数据统计日志。go语言自带的log、fmt等只能输出到控制台,并不计入日志。日志写入文件及读写权限使用开源项目lumberjack中的chown.go、chown_linux.go、logger.go(删除其中不相关的代码)。
通过Logtail采集ECS日志,日志服务采集到日志后,支持投递到阿里云OSS,再投递到DLA,DLA中建立数据库表映射关系,进行数据统计计算。也支持投递到MaxCompute,关联数据库表进行数据统计计算。暂时没有日志轮询,等有需要可以考虑,阿里云也是支持的
echo、gommon都属于LabStack
1、echo的logger配置。
|
|
2、log打印。
调用接口,会自动输入到interface.log文件;logging.log需要各个地方手动打日志或者有错误时自动输入。手动打日志,需要引用gommon的log。数据统计日志,配置一套类似commonLog就可以了,打到record.log。
|
|
3、日志严重程度。
Fatal表示重大错误,Error表示资源或需求得不到满足,Warning表示并不一定是个错误但还是需要引起注意,Info表示不是错误只是一个信息,Debug表示这是给内部开发人员用于调试程序
Author cm
LastMod 2020-01-30