提问人:sgjklseghlesg 提问时间:2/9/2016 更新时间:9/10/2018 访问量:5574
将日志消息存储在数据库表而不是文件中是好是坏?
Is it good or bad to store log messages in a database table, rather than a file?
问:
我说的是人类可读的文本记录,例如来自 Web 应用程序的错误消息。
人们通常将它们存储在数据库中吗?使用数据库表而不是文件有什么好处吗?或者,如果不是,为什么这是一个特别糟糕的主意?
答:
1赞
Mukesh Keshu
2/9/2016
#1
我希望这个链接能给你一个更好的主意 - 什么更有效 - 将日志存储在 sql 数据库或文件中?
如果您需要其他人需要在 Web 界面中读取日志,或者您需要搜索日志的功能,请改为将日志记录到数据库
4赞
Arve Systad
2/9/2016
#2
数据库
优势:
- 更轻松地搜索日志
- 巧妙的查询,例如按日期分组和限制
- 检索特定类型、日志级别或包含特定模式的日志消息
- 在寻找特定事物时过滤掉不需要的噪音
- 如果您正在创建某种用户界面,则更容易以一种好的方式进行管理
一些缺点:
- 用可能不是很有用的东西污染你的数据库,这取决于你的应用程序
- 可以帮助加快数据库增长速度,这在某些情况下可能会很烦人
- 您需要访问数据库(这可能需要文书工作或只是需要时间),或者在上面编写 UI
文本文件
主要优势
- 非常简单,重量轻,易于实施
- 不再需要时易于清洁;不再浪费磁盘空间
- 使用 Splunk 或 Logstash 等工具易于扫描(从而为您提供漂亮的 UI)
弊
- 难以浏览和查询(取决于您的日志记录语句、文件结构等)
记录到数据库与记录到文件本身并没有什么对错之分;这完全取决于您的需求。仔细考虑您的需求,然后做出决定。在调试时,记录到数据库非常方便,但从长远来看,它可能需要更多的你、你的团队或你的应用程序。
评论