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

时间:2016-02-08 18:03:24

标签: database logging web language-agnostic

我正在谈论人类可读的文本记录,例如来自Web应用程序的错误消息。

人们通常将这些存储在数据库中吗?使用数据库表而不是文件有什么好处吗?或者如果没有,为什么它特别是一个坏主意?

2 个答案:

答案 0 :(得分:2)

数据库

优点:

  • 更轻松地搜索日志
    • 通过例如日期进行聪明的查询,分组和限制
    • 检索特定种类,日志级别或包含某些模式的日志消息
    • 在寻找特定事物时过滤掉不必要的噪音
  • 如果您正在创建某种用户界面,则可以更好地管理

一些缺点:

  • 使用可能不太有用的内容污染您的数据库,具体取决于您的应用程序
  • 可以帮助更快的数据库增长,这在某些情况下可能很烦人
  • 您需要访问数据库(可能需要纸质工作或只需要时间),或者在顶部编写UI

文本文件

主要优势

  • 非常简单,重量轻,易于实施
  • 不再需要时易于清理;不再浪费磁盘空间
  • 使用Splunk或Logstash等工具轻松扫描(从而为您提供良好的用户界面)

缺点

  • 难以浏览和查询(取决于您的日志记录,文件结构等)

记录到数据库与记录到文件没有任何内在的对与错;这一切都取决于你的需求。考虑你的需求,然后决定。在调试时记录到数据库非常方便,但从长远来看,它可能需要您,您的团队或您的应用程序。

答案 1 :(得分:1)

我希望此链接能为您提供更好的主意 - What's more efficient - storing logs in sql database or files?

如果您需要其他人需要阅读网络界面中的日志,或者您需要能够搜索日志,请登录到数据库