【问题标题】:extracting error information from rails log files从 Rails 日志文件中提取错误信息
【发布时间】:2011-01-05 20:09:44
【问题描述】:

我正在开发 5 个不同的 Rails 项目,另外还重构了一些项目(从旧版 Rails 迁移到 2.3)——从日志文件中提取错误信息的最佳方法是什么,这样我就可以看到所有折旧警告、运行时错误等等,所以我可以改进代码库吗?

是否有任何可以推荐的服务或库,它们实际上有助于解析 Rails 日志文件?

【问题讨论】:

    标签: ruby-on-rails logging logfile-analysis


    【解决方案1】:

    我发现request-log-analyzer 项目非常有用。

    您可以通过 grep 日志查找错误并将其转储出来,但这非常适合收集有关不同操作及其所用时间的所有信息。

    这里有一些sample output

    当我接到电话说“我的网站运行缓慢,我需要帮助修复它”时,这是我运行的第一件事。

    Hoptoad 和/或 Exceptional 非常适合处理持续错误,但它们不会跟踪日志运行请求。像 New Relic 这样的东西很适合。

    【讨论】:

    【解决方案2】:

    我使用 hoptoadapp,http://www.hoptoadapp.com/pages/home 有一个免费的风格,它将您的错误消息记录到他们的数据库中,并且它们提供了一个易于使用的界面。您所要做的就是安装这个插件:http://github.com/thoughtbot/hoptoad_notifier

    它对过去的错误没有帮助,但对于隔离当前正在运行的应用程序的问题非常有用。

    【讨论】:

    • 感谢您的指点,这看起来是一个非常方便的 Web 应用程序。我会研究一下。
    【解决方案3】:

    阅读grep linux 命令。

    http://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/

    我不知道 Rails 中的错误日志格式是什么,但我在每一行都带有警告或错误,都包含“警告”或“错误”字样。

    那么它会是这样的:

    grep -E "error|warning" logfile.txt

    机器人错误和警告

    grep "error" logfile.txt

    错误

    grep "warning" logfile.txt

    警告

    如果你想实时查看新的错误和警告,试试这个

    tail -f logfile.txt | grep -E "error|warning"

    tail -f logfile.txt | grep "error"

    tail -f logfile.txt | grep "warning"

    希望我能帮助你 ;) 我希望我对 Rails 中的日志格式没有错

    【讨论】:

    • 好的,我刚刚尝试了一个关于如何解析似乎有效的 Rails 日志文件的初始正则表达式:(Processing.*?)(\n\n\n|\z) - 这是分隔请求分成可处理的部分......
    • 你真的想要一个 -A (在上下文之后)或 -C (上下文之前和之后)行包含在你的 grep 语句中,所以你也得到踪迹。例如:grep -C7 -E"error|warning" logfile.txt
    • @Tsagadai 为此 +1。没有上下文的错误行是没用的:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2011-05-31
    • 1970-01-01
    • 2022-08-02
    • 2015-03-13
    相关资源
    最近更新 更多