lib/takelage/lib/logging.rb in takelage-0.13.2 vs lib/takelage/lib/logging.rb in takelage-0.13.3

- old
+ new

@@ -1,30 +1,47 @@ +# frozen_string_literal: true + # takelage logging module module LoggingModule + # takelage logger + class TakelageLogger + include Singleton - # Global singleton logger - @@log = Logger.new(STDOUT) + 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 - # logger: format - log.formatter = proc do |severity, datetime, progname, msg| + # @return [Object] global singleton logger + def log + TakelageLogger.instance.logger + end + + private + + def _logging_get_log_format + proc do |severity, _datetime, _progname, msg| "[#{severity}] #{msg}\n" end + end - # logger: level - if %w(FATAL ERROR WARN INFO DEBUG).include? loglevel - log.level = loglevel - log.debug "Using loglevel #{loglevel}" + def _logging_get_log_level(loglevel) + if %w[FATAL ERROR WARN INFO DEBUG].include? loglevel + loglevel else - log.level = Logger::INFO - log.error 'The parameter "loglevel" must be one of FATAL, ERROR, WARN, INFO, DEBUG' - log.info 'Using loglevel INFO' + 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 - - # @return [Object] global singleton logger - def log - @@log end end