这一切是什么[1米[在我的日志中35米,我怎么让它消失?

Jaz*_*azz 7 ruby ruby-on-rails ruby-on-rails-3.2

如果这个问题已经得到解答,我提前道歉.我一直试图在谷歌和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)
Run Code Online (Sandbox Code Playgroud)

我想知道的是关于在一些线之前出现的[1m[36m[1m[35m令牌,[0m以及[1m有时出现在线内的令牌.

唯一显示的数字是0,1,32,35和36.这些标记始终在日志文件中以不可打印的转义字符开头.

这些数字表示什么?它们为什么会出现在我的日志中?还有办法摆脱它们吗?当他们尝试阅读日志并诊断问题时,他们(以及他们的逃脱角色朋友)非常讨厌.

Pau*_*rer 9

那些是ANSI shell颜色代码.您可以使用config.colorize_logging来抑制它们,或者使用sed命令从现有日志中删除它们.


Jel*_*Cat 8

如果您想使用这些 ANSI shell 颜色代码而不是抑制它们,请在寻呼机(如less)而不是编辑器(如vim)中查看日志。

less -r log/production.log
Run Code Online (Sandbox Code Playgroud)

(确保使用该-r标志来使用控制代码。)