12

この質問がすでに回答されている場合は、事前にお詫び申し上げます。私はGoogleと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[36mand[1m[35mトークンと、行内に表示されることがある[0mandに関するものです。[1m

表示される数字は0、1、32、35、および36のみです。これらのトークンの前には、常に印刷できないエスケープ文字がログファイルに表示されます。

これらの数字は何を示していますか?なぜそれらが私のログに表示されるのですか?そして、それらを取り除く方法はありますか?彼ら(および彼らのエスケープ文字の友達)は、ログを読んで問題を診断しようとすると非常に迷惑になります。

4

2 に答える 2

15

これらはANSIシェルのカラーコードです。config.colorize_loggingを使用してそれらを抑制したり、 sedコマンドを使用して既存のログからそれらを削除したりできます。

于 2013-01-31T23:06:56.923 に答える
5

lessこれらのANSIシェルカラーコードを抑制する代わりに使用する場合は、エディター(など)ではなくページャー(など)でログを表示しますvim

less -r log/production.log

-r(制御コードを使用するには、必ずフラグを使用してください。)

于 2014-01-20T16:21:46.940 に答える