按日期存储Rails日志
by
at 2010-09-19 15:50:31
original http://www.javaeye.com/topic/767333
最简单的方法是
RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log", "daily")
实际上Rails做了一些优化,通过ActiveSupport::BufferedLogger来提高产品环境下的性能。所以比较好的做法是在config/environment.rb加入如下代码:
config.logger = begin
path = config.paths.log.to_a.first
logger = ActiveSupport::BufferedLogger.new(path, "daily")
logger.level = ActiveSupport::BufferedLogger.const_get(config.log_level.to_s.upcase)
logger.auto_flushing = false if Rails.env.production?
logger
rescue StandardError => e
logger = ActiveSupport::BufferedLogger.new(STDERR)
logger.level = ActiveSupport::BufferedLogger::WARN
logger.warn(
"Rails Error: Unable to access log file. Please ensure that #{path} exists and is chmod 0666. " +
"The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
)
logger
end
<br><br>
作者: <a href="http://swordray.javaeye.com">swordray</a>
<br>
声明: 本文系JavaEye网站发布的原创文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!
<br><br>
<span style="color:red">
<a href="http://www.javaeye.com/topic/767333" style="color:red">已有 <strong>0</strong> 人发表回复,猛击->><strong>这里</strong><<-参与讨论</a>
</span>
<br><br><br>
JavaEye推荐