2009-08-17 3 views
6

로깅 할 때 활성 레코드에 ansi 색상 코드가 기록되지 않도록 할 방법이 있습니까?ActiveRecord에 제어 문자를 로깅하지 말하게하는 방법

예 : 나는 내 기록에 이것을 원하지 않는다.

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

내가 사후 난장판을 청소 포함하는 솔루션을 찾고 있지 않다 :

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

대신 나는 이것을 원한다.

답변

9

답변이 추가 :

config.colorize_logging = false 

http://guides.rubyonrails.org/3_0_release_notes.html

액티브 :: 자료를 참조하십시오 .colorize_logging 및 config.active_record.colorize_logging 대신가 사용됩니다. 16,레일 :: LogSubscriber.colorize_logging 또는 config.colorize_logging

8

레일 3 (내 경우 development.rb에서) 적절한 환경 파일에

config.active_record.colorize_logging = false 
+0

이 응답 <레일 유효한 JAR 3 인 경우에 정확한 경로를 반환하는 다른 방법이다 – bjelli

4

나는 내 JRuby를 스크립트에서이 방법을 사용합니다. 착색을 비활성화 부분

ActiveSupport::LogSubscriber.colorize_logging = false 

get_jar_path 스크립트가

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 
관련 문제