将日志消息存储在数据库表中而不是文件中,这样做好还是坏?

3

我在谈论可读性较高的文本日志,例如来自Web应用程序的错误信息。

人们通常将这些存储在数据库中吗?使用数据库表格与文件相比有什么优势吗?如果没有,为什么明确表示不建议这样做?

2个回答

4

数据库

优点:

  • 更容易搜索日志
    • 通过智能查询、分组和限制日期等方式,更容易检索日志
    • 检索特定类型、记录级别或包含某些模式的日志消息
    • 在查找特定内容时过滤掉不必要的噪音
  • 如果您正在创建某种用户界面,则更易于良好地管理

一些缺点:

  • 依赖应用程序,存储可能并不十分有用的信息,可能会污染您的数据库
  • 可能会导致数据库迅速增长,在某些情况下可能会很麻烦
  • 您需要访问数据库(可能需要文书工作或仅需时间),或者在其上编写用户界面

文本文件

主要优点

  • 非常轻巧、易于实现
  • 不再使用时容易清除,不再浪费磁盘空间
  • 可以使用诸如Splunk或Logstash这样的工具轻松扫描(从而提供漂亮的UI)

缺点

  • 难以浏览和查询(取决于日志语句、文件结构等)

将日志记录到数据库与将日志记录到文件中并没有本质上的对错之分;这完全取决于您的需求。请仔细考虑您的需求,然后再做决定。在调试时,将日志记录到数据库非常方便,但从长远来看可能需要更多的您、您的团队或您的应用程序的投入。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接