- 论坛徽章:
- 0
|
按日期存储Rails日志
Ruby代码- 1.RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log", "daily") ) I/ b( h3 n4 ]+ G0 y5 g, O2 |
- RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}.log", "daily") # |) M' u3 N; \
复制代码 实际上Rails做了一些优化,通过ActiveSupport::BufferedLogger来提高产品环境下的性能。所以比较好的做法是在config/environment.rb加入如下代码:
Ruby代码- 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." 6 Z2 a)
- )
- logger
- end
复制代码 |
|