想用 sqlite 做 web 项目的系统日志文件体系,这个合适吗?

大多数日志框架,都是把日志存储在可以直接用 txt 打开的文件里,但是我想要以表格化或关系化的方式查找排查问题,但自定义日志查看软件的又费时,扩展又很麻烦,因此想到用关系型数据库来存日志,用 select 语句来查找问题,但又不想存储在服务型的关系型数据库里,想要嵌入式一点,于是想到了 sqlite 。现在 sqlite 设置一下也支持多线程数据写入了。

用 sqlite 的 db 文件来做日志的文件体系,会有哪些问题?或者有更好的表格关系化的日志体系排查问题的方式么?

相关文章

10 thoughts on “想用 sqlite 做 web 项目的系统日志文件体系,这个合适吗?

  1. @rrfeng 你是不是觉得,用 sqlite 做系统日志文件是没有必要的。直接用 txt 做日志文件,用文本编辑器打开,用“查找”功能去看日志是最好的?

  2. 楼上的别太偏激,elk 太重了。

    是的,对于日志来说文本文件就是最好的。除非你要对日志里的特定字段进行复杂的统计、计算,否则毫无理由放到 DB 里。

  3. 数据量小 shell 各种指令组合下就能查询过滤够用了吧,而且读写都是顺序效率也不低,方便又简单,哪都能用,根本不用想那么多吧,要是你一天写十几 G,几十 G,甚至几百 G 日志,纯文本顺序写入都够作死了,sqllite 真的是作死中的作死啊,如果这时候你还能用 sql 查出来那真的是见了个鬼了

  4. 感觉每天写超过 1G 最好就用 elk,不要太方便,少的话还是纯文本 shell 过滤更方便吧,纯文本的记录也更容易应对未知错误导致写出奇奇怪怪的日志

  5. @rrfeng 谢谢你的建议,elk,这个东西,我查了一下,它好像是个服务组合,可以把日志管理拆分独立的一个服务。集成了查询,存储,可视化这三点。关于这三点的组合,有同类型的么?

发表评论

电子邮件地址不会被公开。 必填项已用*标注