2013-01-31 52 views
4

如果這個問題已經得到解答,請提前致歉。我一直試圖在谷歌和StackOverflow上搜索這一點,但是由於我的搜索查詢中有標點符號,搜索引擎傾向於將它扼殺,並給我無稽之談的結果。這是什麼[1m [35m在我的日誌中,我該如何讓它消失?

在我的Rails應用程序(軌3.2.11,紅寶石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.這些標記始終在日誌文件中由一個不可打印的轉義字符開頭。

這些數字表示什麼?他們爲什麼出現在我的日誌中?有沒有辦法擺脫它們?他們(和他們的逃跑角色的朋友)在嘗試閱讀日誌和診斷問題時非常煩人。

+0

你用什麼來讀取日誌?如果它與ANSI顏色兼容,那麼用代碼讀取會更容易而不難。 –

+0

我一直只是在與我的代碼Sublime Text 2相同的編輯器中打開它們。看起來像ST2論壇上的某個人最近剛剛將這個提交給了團隊,所以希望這些支持將很快添加。 – Jazz

回答

5

這些是ANSI shell color codes。您可以使用config.colorize_logging來抑制它們,或者使用sed command從現有日誌中刪除它們。

+0

非常感謝。這幾個星期以來一直困擾着我!我發現我可以用'/ [[:cntrl:]] \ [\ d + m /'來匹配它們來過濾它們。再次感謝! – Jazz

2

如果您想要使用這些ANSI外殼顏色代碼而不是抑制它們,請在傳呼機(如less)中查看您的日誌而不是編輯器(如vim)。

less -r log/production.log 

(請確保您使用-r標誌使用的控制代碼。)

相關問題