Sha256: b39c73b8ad2e6babcad50f18193cce46ddc8e2ec88636abeef9eff3c911db00d

Contents?: true

Size: 1.55 KB

Versions: 6

Compression:

Stored size: 1.55 KB

Contents

require 'logger'

module Rubix

  def self.logger= l
    @logger = l
  end

  def self.logger
    return @logger unless @logger.nil?
    @logger = default_logger
  end

  def self.default_logger
    @logger       = Logger.new(default_log_path)
    @logger.level = default_log_severity
    @logger
  end

  def self.default_log_severity
    case
    when defined?(Settings) && Settings[:log_level]
      Logger.const_get(Settings[:log_level].to_s.strip)
    when ENV["RUBIX_LOG_LEVEL"]
      severity_name = ENV["RUBIX_LOG_LEVEL"].to_s.strip
    else
      severity_name = 'info'
    end
    
    begin
      return Logger.const_get(severity_name.upcase)
    rescue NameError => e
      return Logger::INFO
    end
  end

  def self.default_log_path
    case
    when defined?(Settings) && Settings[:log]
      Settings[:log]
    when ENV["RUBIX_LOG_PATH"] == '-'
      $stdout
    when ENV["RUBIX_LOG_PATH"]
      ENV["RUBIX_LOG_PATH"]
    else
      $stdout
    end
  end
      
  module Logs

    def debug *args
      return unless Rubix.logger
      Rubix.logger.log(Logger::DEBUG, args.join(' '))
    end

    def info *args
      return unless Rubix.logger
      Rubix.logger.log(Logger::INFO, args.join(' '))
    end

    def warn *args
      return unless Rubix.logger
      Rubix.logger.log(Logger::WARN, args.join(' '))
    end

    def error *args
      return unless Rubix.logger
      Rubix.logger.log(Logger::ERROR, args.join(' '))
    end

    def fatal *args
      return unless Rubix.logger
      Rubix.logger.log(Logger::FATAL, args.join(' '))
    end
    
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rubix-0.0.8 lib/rubix/log.rb
rubix-0.0.7 lib/rubix/log.rb
rubix-0.0.6 lib/rubix/log.rb
rubix-0.0.5 lib/rubix/log.rb
rubix-0.0.4 lib/rubix/log.rb
rubix-0.0.3 lib/rubix/log.rb