class Entangler::Logger
Public Class Methods
create_log_dir(base_dir)
click to toggle source
# File lib/entangler/logger.rb, line 8 def self.create_log_dir(base_dir) FileUtils.mkdir_p(File.dirname(log_file_path(base_dir))) end
log_file_path(base_dir, log_file_name = 'entangler.log')
click to toggle source
# File lib/entangler/logger.rb, line 12 def self.log_file_path(base_dir, log_file_name = 'entangler.log') File.join(base_dir, '.entangler', 'log', log_file_name) end
new(outputs, verbose: false)
click to toggle source
# File lib/entangler/logger.rb, line 16 def initialize(outputs, verbose: false) @loggers = Array(outputs).map do |output| logger = ::Logger.new(output) logger.level = verbose ? ::Logger::DEBUG : ::Logger::INFO logger.formatter = proc do |severity, datetime, _, msg| date_format = datetime.strftime('%Y-%m-%d %H:%M:%S') "[#{date_format}] #{severity.rjust(5)}: #{msg}\n" end logger end end
Public Instance Methods
level=(level)
click to toggle source
# File lib/entangler/logger.rb, line 30 def level=(level) @loggers.each { |logger| logger.level = level } end