我有兴趣将所有Rails应用程序日志记录发送到数据库(MySQL或MongoDB),作为日志文件的补充或替代.有几个原因,其中大多数都关注日志文件分析.我们已经使用了Google Analytics(分析),但我们想要做的各种事情在Google Analytics中并不可行.
此外,我想通过查看日志来对问题进行"实时"调查.筛选日志文件是一种繁琐的方法,我希望能够比日志文件(轻松)更好地进行搜索和过滤.
最后,我经常想要检查更接近网站访问者行为的内容:例如,跟踪网站中的路径,以便我可以看到在发生错误之前用户正在查看的最后一页是什么.鉴于我们有多个应用服务器,单独的日志文件使这真的很痛苦.如果所有数据都在数据库中,那么我可以很容易地看到给定访问者的正确页面序列.我知道Syslog是解决这个特定事物的一种方式(单个日志文件/存储库),但我希望将它与我与数据库搜索相关联的更好的搜索能力结合起来.
我想知道人们建议解决这个问题.您是直接登录到数据库,还是将日志文件转储到数据库中(但是您的方法是什么,以便它基本上是实时/最新的日志文件本身)?
我目前正在确定我喜欢这种日志记录的级别,因为我看到的另一件事是编写一个可以记录所有请求的小型Rack过滤器.这将错过正常Rails日志记录转储出来的所有额外输出(缓存命中和未命中的所有SQL和输出等),但它会实现我的目标的很大一部分,并且似乎具有不打扰的优势系统中的任何其他内容.
无论如何,我不是在寻找一个正确的答案,更多的是关于其他人可能在同样的事情中做什么的讨论和信息.
我有一个多用户应用程序,它为活动保留了一个集中的日志文件.现在,日志记录进入文本文件大约10MB-50MB /天.记录器每天轮换文本文件,我们保留过去4或5天的价值.比这更老的我们没兴趣.
它们很少被阅读:在开发应用程序以获取错误消息,诊断消息时,或者在应用程序处于生产状态时,对用户报告的问题或错误进行分类.
(这严格来说是应用程序日志.安全日志记录保存在别处.)
但是当他们被阅读时,他们就是痛苦的屁股.即使使用Perl,使用10MB文本文件也很有趣:文件中的字段(事务ID,用户ID等)很有用,但只是文本.消息是按顺序写入的,一次一个地写入,因此当尝试跟踪特定事务或用户时,交错活动全部混淆.
我正在寻找关于这个主题的想法.有人用SQL数据库完成了应用程序级日志记录并喜欢它吗?讨厌吗?
我正在使用asp.net建立一个非常大的网站(如果它有任何兴趣的形式),我想知道我是否需要一个日志框架,如log4net.我之前使用过这样的框架,但我不知道如何将它用于此类项目的任何用途.通常我认为客户交付的应用程序需要进行日志记录,可以将日志发回,然后分析错误.你怎么看?