2010-01-16 66 views
7

我正在开发5个不同的rails项目,还重构了一些(从较旧的rails版本移动到2.3) - 从日志文件中提取错误信息的最佳方式是什么查看所有的折旧警告,运行时错误等等,所以我可以改进代码库?从rails日志文件中提取错误信息

有没有你可以推荐的任何服务或库,这实际上帮助rails的日志文件解析?

回答

7

阅读关于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中的日志格式没有错误

+0

好的,我刚刚尝试了一个初始化正则表达式来分析似乎可以工作的rails日志文件:(处理。*?)(\ n \ n \ n | \ z) - 这是将请求分成可处理的部分。 .. – z3cko 2010-01-17 03:08:57

+0

啊,对不起。我错误的轨道日志文件的格式。 – kjagiello 2010-01-17 08:23:04

+4

你真的想在你的grep语句中使用** - A **(在上下文之后)或** - C **(在上下文之前和之后)行包含器,这样你也可以获得跟踪。例如:grep -C7 -E“error | warning”logfile.txt – Tsagadai 2012-09-24 02:35:22

1

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

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

+0

感谢您的指针,这看起来像一个非常方便的Web应用程序。我会仔细研究一下。 – z3cko 2010-01-17 03:01:39

3

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

您可以确定grep日志以查找错误并将其转储出去,但这对于收集关于不同操作以及它们花费多长时间的所有信息都非常出色。

这里是一些sample output

这是我在接到电话时说的第一件事:“我的网站很慢,我需要帮助解决它。”

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

+0

太棒了!非常感谢。搜索请求日志分析器后,我也想出了更多的轨道日志记录:http://whynotwiki.com/Rails_/_Performance http://jacqueschirag.wordpress.com/2008/10/15/rails-log-analyzers/ – z3cko 2010-01-17 03:06:39