我一直在服务器上工作,我开始实现日志记录.但是,我不确定是否应该使用db进行日志记录,或者仅使用纯文本文件.
我打算为每个请求记录一些基本信息(请求的类型,请求的IP地址,会话跟踪).对于某些请求,将提供扩展信息(详细说明请求的类型),如果有任何错误,我也会记录这些错误.
一方面,将日志放入数据库意味着我可以对记录的数据运行查询.另一方面,我不确定这是否会对db造成不必要的压力.当然,我也可以使用db和日志文件进行日志记录.人们对正确伐木的看法是什么?
(如果它有所不同,我在带有MySQL数据库的Apache服务器上使用mod_python.所以我要么使用日志库,要么只在数据库中创建一些日志表.)
首先,使用像SLF4J/Logback这样的日志库,允许您动态地做出此决策.然后,您可以调整配置文件并将部分或全部日志消息路由到多个不同目标中的每个目标.
在登录到您的应用程序数据库之前要非常小心,如果您记录了大量内容并且卷开始变高,则可以轻松地压倒它.如果您的应用程序运行接近满容量或处于故障模式,则日志消息可能无法访问,您将失明.可能应用于应用程序数据库的唯一消息是高级面向应用程序的事件(一种应用程序数据).
"登录到文件系统"(对于大型生产环境包括记录到冗余日志聚合服务器读取的多播地址)要好得多.
可以将日志文件读入特殊的分析数据库,您可以使用例如Hadoop对日志数据进行映射/缩减分析.