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