Module: CfnCli::Loggable
- Included in:
- Cli, CloudFormation, Stack
- Defined in:
- lib/cfncli/logger.rb
Overview
Logger Mixin
Instance Method Summary collapse
-
#log_level ⇒ Symbol
Gets the current log level as a symbol.
-
#log_level=(level) ⇒ Object
Sets the current log level.
-
#logger ⇒ Logger
Gets the logger object.
-
#logger=(obj) ⇒ Object
Sets the logger object.
Instance Method Details
#log_level ⇒ Symbol
Gets the current log level as a symbol
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cfncli/logger.rb', line 32 def log_level level_map = { Logger::DEBUG => :debug, Logger::INFO => :info, Logger::WARN => :warn, Logger::ERROR => :error, Logger::FATAL => :fatal, Logger::UNKNOWN => :unknown } level_map[logger.level] end |
#log_level=(level) ⇒ Object
Sets the current log level
45 46 47 48 49 50 51 |
# File 'lib/cfncli/logger.rb', line 45 def log_level=(level) if level.is_a?(Fixnum) logger.level = level else logger.level = Logger.const_get(level.to_s.upcase) end end |
#logger ⇒ Logger
Gets the logger object
By default it logs to STDOUT with the date-time format %Y-%m-%d %H:%M:%S
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/cfncli/logger.rb', line 11 def logger if @logger.nil? @logger = Logger.new(STDOUT) @logger.level = ENV['CFNCLI_LOG_LEVEL'].to_i || Logger::INFO @logger.formatter = proc do |severity, datetime, progname, msg| severity = severity.ljust(7) progname = "#{progname}: " if progname "#{datetime} [ #{severity} ] #{progname}#{msg}\n" end end @logger end |
#logger=(obj) ⇒ Object
Sets the logger object
26 27 28 |
# File 'lib/cfncli/logger.rb', line 26 def logger=(obj) @logger = obj end |