我爱帮助网--QQ交流群号

Nas交流与矿渣群(unraid 群晖 猫盘 蜗牛等):372167400         物联网/智能家居群:518812757             帮助教程:手册大全

软件使用与建站群:1057308983      虚拟化交流群:13448651

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

2018-01-27 09:26:00
zstmtony
转贴
2830

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

【转自Ruby迷】

使用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          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)

0
发表评论
评论通过审核后显示。
文章分类
联系我们
联系人: 王先生