Rails 调试和记录日志方法总结
使用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)
强啊!我顶一个!