关于Exceptionless日志收集框架如何关闭磁盘缓存

问题:在使用Exceptionless的时候,Exception在收集到日志时会默认在appdata里面缓存当条日志的缓存文件,时间久了之后,如果收集到的日志越多磁盘的空间就会不足。

我使用的环境是

Linux

 

Docker

Exceptionless 5.0.0

由于Exceptionless 5.0.0带有Doceer-compose.yml 所以一般就Docker-compose up -d 来一键部署

然后本问描述的问题如下图所示

第一张图是我发送日志到Exceptionless的图

第二张图是我Exceptionless在Linux里的缓存位置的图

第三张图是缓存日志内容及文件大小的图

即便是你从界面上去批量删除日志也是没有效果的。界面上删除的是数据库里的日志,并没有连带缓存去删除。

由着三张图可以很明确的看出一条日志至少占据了磁盘2KB的大小。或许有的人觉得2KB不算什么,但一些用户量大的企业他们每天收集的日志或许就能达到几万甚至几十万条,那么久而久之呢。磁盘内存不够那是一定的事。

然后根据官方开发人员的说法这个缓存实际上是不影响界面上日志的输出的,这个缓存更多意义上是帮助开发者被封日志,防止数据丢失的存在。

那么如何去解决这个问题呢?我一开始在百度上也寻找了好久但是并没有看到相关的解答。然后就去gihub上翻Issues。但看到相关的问题也仅有#275这个。随后也提了个新Issues来询问官方开发人员的解决方案。

如下图所示:

正如开发者所说,其实是有一个开关的 也就是EX_EnableArchive。而通过名字也可知他对应了我们之前截图的文件夹名。

于是我根据官方人员的指导下在docker-compose文件里加上了如下图所示

然后命令行Docker-compose up -d 对其重启一下。最后完美的解决了改问题。

仅记录及分享日常走坑和解决系列。也希望对有这个问题的人有所帮助。大佬可不必理会。

转载需标明原链接

posted @ 2020-08-05 09:12  葬爱-小菜鸟  阅读(435)  评论(0编辑  收藏  举报