ruby 我的日志中的这些[1m[35m]是什么?我如何消除它们?

fnvucqvd  于 2022-12-12  发布在  Ruby
关注(0)|答案(2)|浏览(185)

如果这个问题已经得到了回答,我提前向你道歉。我一直试图在谷歌和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。在日志文件中,这些标记的前面总是有一个不可打印的转义符。
这些数字说明了什么?为什么它们会出现在我的日志中?有没有办法摆脱它们?当试图阅读日志并诊断问题时,它们(以及它们的逃跑角色朋友)非常烦人。

7cjasjjr

7cjasjjr1#

这些是ANSI shell 颜色代码。您可以使用config.colorize_logging隐藏它们,或者使用sed command从现有日志中删除它们。

mv1qrgav

mv1qrgav2#

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

less -r log/production.log

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

相关问题