Rails在controller里自带了logger,我们可以用来做debug:
[code]
def show
@cart = current_cart
logger.debug "Hello world! #{@cart.to_yaml}"
# debug, info, warn, error, fatal
end
[/code]
我们可以在environment.rb里配置Logger的消息格式:
[code]
class Logger
def format_message(level, time, progname, msg)
"#{time.to_s(:db)} #{level} -- #{msg}\n"
end
end
[/code]
我们还可以在environments/production.rb里配置log_level
[code]
config.log_level = :debug
[/code]
使用[b]rake log:clear[/b]可以清空旧日志
在.irbrc里也可以设置Logger:
[code]
if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
require 'logger'
Object.const_set('RAILS_DEFAULT_LOGGER', Logger.new(STDOUT))
end
[/code]
这样在script/console里的Model操作就会直接in place显示在console里
[code]
def show
@cart = current_cart
logger.debug "Hello world! #{@cart.to_yaml}"
# debug, info, warn, error, fatal
end
[/code]
我们可以在environment.rb里配置Logger的消息格式:
[code]
class Logger
def format_message(level, time, progname, msg)
"#{time.to_s(:db)} #{level} -- #{msg}\n"
end
end
[/code]
我们还可以在environments/production.rb里配置log_level
[code]
config.log_level = :debug
[/code]
使用[b]rake log:clear[/b]可以清空旧日志
在.irbrc里也可以设置Logger:
[code]
if ENV.include?('RAILS_ENV') && !Object.const_defined?('RAILS_DEFAULT_LOGGER')
require 'logger'
Object.const_set('RAILS_DEFAULT_LOGGER', Logger.new(STDOUT))
end
[/code]
这样在script/console里的Model操作就会直接in place显示在console里