MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

rails调试以及日志

Posted on 2010-02-14 02:24 leekiang 阅读(799) 评论(0)  编辑  收藏 所属分类: ruby
1,要在控制台输出log,在environment.rb里加:
config.log_level = :debug
config.logger = Logger.new(STDERR)
同时在controller里加一行logger.info 'test'
成功了,但奇怪的是log_level设为dubug和info没有区别

2, http://wordpress.javaeye.com/blog/134544
rails的日志文件存在于app/log下面。对于不同环境产生的日志内容会有差别。development下会把每次对数据库的访问代码包含进去,production会省略,不过也有很多的内容。 如果只希望在production环境下,输入少量的log, 则只需要在config/environments/production.rb中更改:
config.log_level = :warn

附带log level:
Rails可以通过选择不同的log level来控制log文件的输出,可以使用的log level有:debug, :info, :warn, :error, :fatal。 :debug level提供最详细的log, 可以将每一条sql都记录下来。:info level是production环境下的默认设置,不会写出sql的执行情况,但也会很详细,如果是ActiveMailer,它会记录下每封信的内容,Log文件内容就是快速增长。为了避免Log把空间塞满的情况发生,要注意定期清除Log,另外是选择:warn level等log level, 只记录重要的信息.

是否可以这么说:environment.rb对三个环境都生效,production.rb只对生产环境有效.


3,在单元测试类的方法里加了logger.dubug 'test',执行测试时报错,后改为
RAILS_DEFAULT_LOGGER.debug 'test' 成功。


Rails Logging Tips —— Rails写日志的提示http://www.cgpad.com/SPAN/articles_show/167
http://hlee.javaeye.com/blog/358516

只有注册用户登录后才能发表评论。


网站导航: