Как мне сказать ActiveRecord не регистрировать какие-либо контрольные символы

Есть ли способ сказать активной записи не регистрировать коды цвета ANSI при ее регистрации?

Например. Я не хочу этого в моих журналах.

[4;36;1mSQL (0.1ms)[0m   [0;1mSELECT count(*) AS count_all FROM `users` WHERE (`user`.id = 133) [0m 

Вместо этого я хочу это:

SQL (0.1ms) SELECT count(*) AS count_all FROM `users` WHERE (`user`.id = 133)

Я не ищу решения, которое включает в себя наведение порядка.

Ответы на вопрос(3)

Я использую этот метод в моих скриптах jRuby. Часть, которая отключает окраску,

ActiveSupport::LogSubscriber.colorize_logging = false

get_jar_path - это другой метод, который возвращает правильный путь в случае, если скрипт находится в JAR

def activate_logger scriptname
  # delete logs after a month
  $log = Logger.new( "#{get_jar_path}/logs/#{scriptname}_#{Time.now.strftime("%Y%m%d")}.txt", 'monthly' )
  # $log = Logger.new($stdout) 
  ActiveRecord::Base.logger = $log
  ActiveRecord::Base.logger.level = Logger.const_get($debuglevel)
  ActiveSupport::LogSubscriber.colorize_logging = false
  $errors, $verwerkt = 0, 0
  $log.info "start #{__FILE__}"
end

Добавьте это в ваш соответствующий файл среды (в моем случае development.rb)

config.active_record.colorize_logging = false 
 bjelli09 янв. 2013 г., 15:30
этот ответ действителен для рельсов <3
Решение Вопроса

Ответ для Rails 3:

config.colorize_logging = false

Увидетьhttp://guides.rubyonrails.org/3_0_release_notes.html

ActiveRecord :: Base.colorize_logging и config.active_record.colorize_logging не рекомендуются в пользу Rails :: LogSubscriber.colorize_logging или config.colorize_logging

Ваш ответ на вопрос