如果这个问题已经得到了回答,我提前向你道歉。我一直试图在谷歌和StackOverflow上搜索这个问题,但由于我的搜索查询中有标点符号,搜索引擎往往会咀嚼它,给予我无意义的结果。
在我的rails应用程序(rails 3.2.11,ruby 1.9.3)中,我的日志通常如下所示:
Started GET "/apply/contact" for 127.0.0.1 at 2013-01-29 17:35:21 -0600
Processing by JobApplicationsController#show as HTML
Parameters: {"id"=>"contact"}
[1m[36mJobApplication Load (0.5ms)[0m [1mSELECT "job_applications".* FROM "job_applications" WHERE "job_applications"."id" = 9 LIMIT 1[0m
[1m[35mPerson Load (0.4ms)[0m SELECT "people".* FROM "people" WHERE "people"."id" = 42 LIMIT 1
Rendered job_applications/contact.html.haml within layouts/bare (9.6ms)
Rendered shared/_messages.html.haml (0.1ms)
Completed 200 OK in 88ms (Views: 24.8ms | ActiveRecord: 0.9ms | Solr: 0.0ms)
我想知道的是关于[1m[36m
和[1m[35m
令牌,它们出现在一些行之前,还有[0m
和[1m
,它们有时出现在行中。
唯一显示的数字是0、1、32、35和36。在日志文件中,这些标记的前面总是有一个不可打印的转义符。
这些数字说明了什么?为什么它们会出现在我的日志中?有没有办法摆脱它们?当试图阅读日志并诊断问题时,它们(以及它们的逃跑角色朋友)非常烦人。
2条答案
按热度按时间7cjasjjr1#
这些是ANSI shell 颜色代码。您可以使用config.colorize_logging隐藏它们,或者使用sed command从现有日志中删除它们。
mv1qrgav2#
如果您希望使用这些ANSI shell颜色代码而不是隐藏它们,请在寻呼机(如
less
)中查看日志,而不是在编辑器(如vim
)中查看日志。(Make请确保使用
-r
标志来使用控制代码。)