Sha256: 25f6a0742a579c4de3d2701c85077c902f9bac00b593c327b8c979bfac704ef2

Contents?: true

Size: 1.18 KB

Versions: 39

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

# takelage logging module
module LoggingModule
  # takelage logger
  class TakelageLogger
    include Singleton

    attr_accessor :logger

    def initialize
      @logger = Logger.new($stdout)
    end
  end

  # Initialize logger with loglevel.
  def initialize_logging(loglevel)
    TakelageLogger.instance.logger.formatter = _logging_get_log_format
    log_level_in_use = _logging_get_log_level loglevel
    TakelageLogger.instance.logger.level = log_level_in_use
    TakelageLogger.instance.logger.debug "Using loglevel #{log_level_in_use}"
  end

  # @return [Object] global singleton logger
  def log
    TakelageLogger.instance.logger
  end

  private

  # Get log format.
  def _logging_get_log_format
    proc do |severity, _datetime, _progname, msg|
      "[#{severity}] #{msg}\n"
    end
  end

  # Get log level.
  def _logging_get_log_level(loglevel)
    if %w[FATAL ERROR WARN INFO DEBUG].include? loglevel
      loglevel
    else
      TakelageLogger.instance.logger.error 'The parameter "loglevel"' \
          ' must be one of FATAL, ERROR, WARN, INFO, DEBUG'
      TakelageLogger.instance.logger.info 'Using loglevel INFO'
      Logger::INFO
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
takelage-0.33.1 lib/takelage/lib/logging.rb
takelage-0.32.4 lib/takelage/lib/logging.rb
takelage-0.32.3 lib/takelage/lib/logging.rb
takelage-0.32.1 lib/takelage/lib/logging.rb
takelage-0.32.0 lib/takelage/lib/logging.rb
takelage-0.31.0 lib/takelage/lib/logging.rb
takelage-0.30.6 lib/takelage/lib/logging.rb
takelage-0.30.5 lib/takelage/lib/logging.rb
takelage-0.30.1 lib/takelage/lib/logging.rb
takelage-0.30.0 lib/takelage/lib/logging.rb
takelage-0.29.14 lib/takelage/lib/logging.rb
takelage-0.29.13 lib/takelage/lib/logging.rb
takelage-0.29.11 lib/takelage/lib/logging.rb
takelage-0.29.10 lib/takelage/lib/logging.rb
takelage-0.29.8 lib/takelage/lib/logging.rb
takelage-0.29.6 lib/takelage/lib/logging.rb
takelage-0.29.0 lib/takelage/lib/logging.rb
takelage-0.28.26 lib/takelage/lib/logging.rb
takelage-0.28.24 lib/takelage/lib/logging.rb
takelage-0.28.14 lib/takelage/lib/logging.rb