Sha256: 2d7ce711fec76b3887ba56af5bd0a3aeb6aac0fbb066c6f14129f19b2ac1e847

Contents?: true

Size: 1007 Bytes

Versions: 2

Compression:

Stored size: 1007 Bytes

Contents

require 'mongodb_logger/rails_logger'

module MongodbLogger
  module InitializerMixin

    def rails3(minor = 0)
      3 == Rails::VERSION::MAJOR && minor == Rails::VERSION::MINOR
    end

    def create_logger(config)
      path = config.paths['log'].first
      level = RailsLogger.const_get(config.log_level.to_s.upcase)
      logger = MongodbLogger::Logger.new(path, level)
      # decorating with TaggedLogging
      logger = MongodbLogger::TaggedLogger.new(logger) if defined?(ActiveSupport::TaggedLogging)
      logger.level = level
      logger.auto_flushing = false if Rails.env.production? && rails3(1)
      logger
    rescue StandardError => e
      logger = RailsLogger.new(STDERR)
      logger.level = RailsLogger::WARN
      logger.warn(
        "MongodbLogger Initializer Error: Rails will switched to standard logger." + "\n" +
        e.message + "\n" + e.backtrace.join("\n")
      )
      (ENV['HEROKU_RACK'] ? logger : nil) # use standard rails logger, except heroku
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongodb_logger-0.6.4 lib/mongodb_logger/initializer_mixin.rb
mongodb_logger-0.6.3 lib/mongodb_logger/initializer_mixin.rb