天天红玉世界

Rails Ruby Erlang 。。。创新来自于刻苦的实践和勤奋的思考... www.hhtong.com

www.lycom.de

Rails技巧系列:为什么不要使用函数puts?

Gudao Luo2009-01-16 at 22:54发表的

为什么不要使用函数puts?
使用函数puts与函数logger.info的区别
  # GET /users/1
# GET /users/1.xml
def show
@user = User.find(params[:id])
#函数puts
puts @user.to_yaml
# 函数logger.info
logger.info("#{Time.now} - #{@user.to_yaml}")
#
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @user }
end
end
  • 说明
    • 很多人喜欢使用函数puts,获取调试信息。这个问题类似于Java语言人们使用System.out.println(),获取输出内容。一旦使用了函数puts,无法保证网络服务器对于源代码输出信息的顺序!参见上图作了标记的两行输出记录。尽管在上面代码中,函数puts和logger.info是一前一后,但是输出信息的顺序与代码的顺序是不同的。
    • 建议放弃使用函数puts,获取输出信息的方法。
    • Rails框架已经集成了logger软件包!
    • 什么是logger? What is logger?
Hierarchy: previous, next

Comments

There are 0 comments on this post. Post yours →

Post a comment

Required fields in bold.