Sha256: 622f42910b9d5e995d4d5656b6a45e05c5e38cd9ae6b4d4de6931e38a8376b0d

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

module MongodbLogger
  module InitializerMixin
    
    def rails3(minor = 0)
      3 == Rails::VERSION::MAJOR && minor == Rails::VERSION::MINOR
    end
    
    def create_logger(config)
      path = rails3(0) ? config.paths.log.to_a.first : config.paths['log'].first
      level = ActiveSupport::BufferedLogger.const_get(config.log_level.to_s.upcase)
      logger = MongodbLogger::Logger.new(:path => path, :level => level)
      logger.auto_flushing = false if Rails.env.production? && (rails3(0) || rails3(1))
      logger
    rescue StandardError => e
      logger = ActiveSupport::BufferedLogger.new(STDERR)
      logger.level = ActiveSupport::BufferedLogger::WARN
      logger.warn(
        "MongodbLogger Initializer 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." + "\n" +
        e.message + "\n" + e.backtrace.join("\n")
      )
      logger
    end
    
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongodb_logger-0.2.8-jruby lib/mongodb_logger/initializer_mixin.rb
mongodb_logger-0.2.8 lib/mongodb_logger/initializer_mixin.rb
mongodb_logger-0.2.7-jruby lib/mongodb_logger/initializer_mixin.rb
mongodb_logger-0.2.7 lib/mongodb_logger/initializer_mixin.rb