Sam*_*ron 7 activerecord ruby-on-rails
是否有任何方法可以告诉活动记录在记录日志时不记录ansi颜色代码?
例如.我不希望这在我的日志中.
[4;36;1mSQL (0.1ms)[0m [0;1mSELECT count(*) AS count_all FROM `users` WHERE (`user`.id = 133) [0m
Run Code Online (Sandbox Code Playgroud)
相反,我想要这个:
SQL (0.1ms) SELECT count(*) AS count_all FROM `users` WHERE (`user`.id = 133)
Run Code Online (Sandbox Code Playgroud)
事实上,我并不是在寻找一种能够清理混乱的解决方案.
bje*_*lli 10
回答Rails 3:
config.colorize_logging = false
Run Code Online (Sandbox Code Playgroud)
请参阅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
将其添加到适当的环境文件中(在我的示例中为development.rb)
config.active_record.colorize_logging = false
Run Code Online (Sandbox Code Playgroud)
我在我的 jRuby 脚本中使用了这个方法。禁用着色的部分是
ActiveSupport::LogSubscriber.colorize_logging = false
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1645 次 |
| 最近记录: |