Sha256: 2cc6ab9a07fbfb310a7d11e2fd4825d08f4a2795f3cba2089030e7565010c731

Contents?: true

Size: 1.33 KB

Versions: 8

Compression:

Stored size: 1.33 KB

Contents

require "logger"

module Sauce
  def self.logger=(logger)
    @logger = logger
  end

  # Returns the set logger or, if none is set, a default logger
  def self.logger
    @logger ||= default_logger
  end

  private

  # Creates a default logger when the user hasn't set one.
  # Default logger with be STDOUT _unless_ the `SAUCE_LOGFILE` environment var
  # has been set, in which case that file will be appended to, until it is
  # 10240 bytes, when it will be rotated.  This will happen 10 times.
  #
  # The default logging level is WARN, but can be set with the
  # environment var SAUCE_LOGLEVEL
  def self.default_logger
    log = ::Logger.new(*default_logger_arguments)
    log.level = default_logging_level
    return log
  end

  def self.default_logger_arguments
    logfile = ENV["SAUCE_LOGFILE"]
    if logfile
      
      unless ENV["TEST_ENV_NUMBER"].nil?
        logfile = "#{logfile}#{ENV["TEST_ENV_NUMBER"]}"

      end
      log = File.open logfile, File::WRONLY | File::APPEND | File::CREAT
      return [log, 10, 10240]
    else
      return [STDOUT]
    end
  end

  def self.default_logging_level
    case ENV.fetch("SAUCE_LOGLEVEL", "").downcase
    when 'error'
      Logger::ERROR
    when 'warn'
      Logger::WARN
    when 'info'
      Logger::INFO
    when 'debug'
      Logger::DEBUG
    else
      Logger::WARN
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sauce-3.7.2 lib/sauce/logging.rb
sauce-3.7.1 lib/sauce/logging.rb
sauce-3.7.0 lib/sauce/logging.rb
sauce-3.5.11 lib/sauce/logging.rb
sauce-3.5.10 lib/sauce/logging.rb
sauce-3.5.9 lib/sauce/logging.rb
sauce-3.5.8 lib/sauce/logging.rb
sauce-3.5.7 lib/sauce/logging.rb