Is there any way to tell active record not to log the ansi color codes when its logging stuff?
Eg. I do not want this in my logs.
[4;36;1mSQL (0.1ms)[0m
Answer for Rails 3:
config.colorize_logging = false
See http://guides.rubyonrails.org/3_0_release_notes.html
ActiveRecord::Base.colorize_logging and config.active_record.colorize_logging are deprecated in favor of Rails::LogSubscriber.colorize_logging or config.colorize_logging
I use this method in my jRuby scripts. The part that disables the coloring is
ActiveSupport::LogSubscriber.colorize_logging = false
get_jar_path is another method that returns the correct path in case the script is in a 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
Add this to your appropriate environment file (in my case development.rb)
config.active_record.colorize_logging = false