我说的是人类可读的文本记录,比如来自 Web 应用程序的错误消息。
人们通常将这些存储在数据库中吗?使用数据库表而不是文件有什么优势吗?或者,如果不是,为什么这是一个特别糟糕的主意?
最佳答案
数据库
优点:
- 更容易通过日志搜索
- 巧妙的查询、分组和限制,例如日期
- 检索特定类型、日志级别或包含特定模式的日志消息
- 在寻找特定事物时过滤掉不需要的噪音
- 如果您正在创建某种用户界面,则更易于以良好的方式进行管理
一些缺点:
- 用可能不是很有用的东西污染你的数据库,这取决于你的应用
- 可以帮助加快数据库的增长,这在某些情况下可能会很烦人
- 您需要访问数据库(这可能需要书面工作或只是需要时间),或者在上面编写一个 UI
文本文件
主要优势
- 非常简单、重量轻、易于实现
- 不再需要时易于清理;不再浪费磁盘空间
- 使用 Splunk 或 Logstash 等工具易于扫描(从而为您提供漂亮的 UI)
缺点
- 难以浏览和查询(取决于您的日志记录语句、文件结构等)
记录到数据库和记录到文件没有本质上的对错。这完全取决于您的需求。仔细考虑您的需求,然后再决定。调试时记录到数据库非常方便,但从长远来看,这可能需要您、您的团队或您的应用程序更多。
关于database - 将日志消息存储在数据库表中而不是文件中是好是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276252/