class Tumugi::Logger
Attributes
workflow_id[RW]
Public Class Methods
new()
click to toggle source
# File lib/tumugi/logger/logger.rb, line 15 def initialize @formatters = { text: text_formatter, json: json_formatter } init end
Public Instance Methods
init(output: STDOUT, format: :text)
click to toggle source
# File lib/tumugi/logger/logger.rb, line 23 def init(output: STDOUT, format: :text) @logger = ::Logger.new(output) @logger.level = ::Logger::INFO @logger.formatter = @formatters[format] end
quiet!()
click to toggle source
# File lib/tumugi/logger/logger.rb, line 33 def quiet! @logger = ::Logger.new(nil) end
verbose!()
click to toggle source
# File lib/tumugi/logger/logger.rb, line 29 def verbose! @logger.level = ::Logger::DEBUG end
Private Instance Methods
json_formatter()
click to toggle source
# File lib/tumugi/logger/logger.rb, line 45 def json_formatter Proc.new { |level, datetime, program_name, msg| hash = { time: datetime, level: level, message: msg } hash[:program_name] = program_name unless program_name.nil? hash[:workflow] = workflow_id unless workflow_id.nil? "#{JSON.generate(hash)}\n" } end
text_formatter()
click to toggle source
# File lib/tumugi/logger/logger.rb, line 39 def text_formatter Proc.new { |level, datetime, program_name, msg| "#{datetime} [#{level}]#{' (' + program_name + ')' unless program_name.nil?} #{msg}\n" } end