Rails 调试和记录日志方法总结

七 16th, 2011

使用debug, ruby-debug, logger, rails console多种方法调试Rails程序的总结

1、使用debug方法

如果想在view中显示@product的信息,使用

<%= debug(@product)%>

会在网页源码中以YAML格式输出@product所有属性值

2、使用ruby-debug gem

ruby 1.9.2以上在GemFile中添加gem ‘ruby-debug19′, :require => ‘ruby-debug’
版本在1.8.7的在GemFile中添加gem ‘ruby-debug’
在要需要调试的地方添加

debugger

3、使用logger

logger使用起来很简单,直接在方法中

logger.info 'informational message'

logger级别
debug, info, warn, error, and fatal.
默认情况下:开发和测试环境下日志级别为所有(>=debug),生产环境级别为>=info
设置logger级别
在application.rb中添加

config.log_level = Logger::WARN

或者是environment.rb中添加

Rails.logger.level = Logger::WARN

过滤敏感信息
敏感信息不记录到日志,如password

class ApplicationController < ActionController::Base
�0�2 filter_parameter_logging :password
end

以上将会使log中所有匹配/password/i的参数以[FILTERED]代替

filter_parameter_logging 只过滤ActionController 请求信息. 参数可能仍会在ActiveRecord生成的SQL语句log中。不过SQL语句在生产环境默认不会记录log.

在rails console中显示执行的ActiveRecord日志,里面包括SQL语句:

ActiveRecord::Base.logger = Logger.new(STDOUT)

在rails console中显示执行的ActiveRecord日志,里面包括SQL语句:

ActionController::Base.logger = Logger.new(STDOUT)
标签: , ,
>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:Rails 调试和记录日志方法总结
  1. Tiffany
    十二 22nd, 201115:44

    强啊!我顶一个!