Class: TmcLogger
Overview
The TmcLogger class manages logging for TMC test scripts
Constant Summary collapse
- DATETIME_FORMAT =
'%Y-%m-%dT%H:%M:%S.%6N%:z'
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
-
#initialize(log_path, log_level) ⇒ TmcLogger
constructor
Public: Initializes a TMC logger.
Constructor Details
#initialize(log_path, log_level) ⇒ TmcLogger
Public: Initializes a TMC logger.
Returns nothing.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/logger/tmc_logger.rb', line 13 def initialize(log_path, log_level) @log_level = log_level || 'debug' # needed for syntax eval if log_path.nil? @logger = Logger.new(STDERR) @logger = Logger.new(STDOUT) else file = File.open(log_path, File::WRONLY | File::APPEND | File::CREAT) file.sync = true # flush log file buffer immediately STDOUT.sync = true # flush STDOUT buffer immediately @logger = Logger.new(MultiIO.new(file, STDOUT)) end @logger.formatter = proc do |severity, datetime, progname, msg| "[#{datetime.strftime(DATETIME_FORMAT)}] [#{severity}] #{msg}\n" end @logger.level = Logger.const_get(@log_level.upcase.to_sym) end |
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
6 7 8 |
# File 'lib/logger/tmc_logger.rb', line 6 def logger @logger end |