class KuberKit::Tools::LoggerFactory
Constants
- MAX_LOGS_TO_KEEP
- MAX_LOG_FILE_SIZE
- SEVERITY_COLORS_BY_LEVEL
Public Instance Methods
create(level: nil)
click to toggle source
# File lib/kuber_kit/tools/logger_factory.rb, line 20 def create(level: nil) prepare_log_file(configs.log_file_path) logger = Logger.new(configs.log_file_path, MAX_LOGS_TO_KEEP, MAX_LOG_FILE_SIZE) logger.level = level || Logger::DEBUG logger.formatter = proc do |severity, datetime, progname, msg| level = Logger::SEV_LABEL.index(severity) severity_color = SEVERITY_COLORS_BY_LEVEL[level] severity_text = severity.to_s severity_text = severity_text.colorize(severity_color) if severity_color if level == Logger::DEBUG "#{datetime.strftime("%Y/%m/%d %H:%M:%S").grey} #{msg}\n" else "#{datetime.strftime("%Y/%m/%d %H:%M:%S").grey} #{severity_text.downcase}: #{msg}\n" end end logger end
Private Instance Methods
prepare_log_file(file_path)
click to toggle source
# File lib/kuber_kit/tools/logger_factory.rb, line 46 def prepare_log_file(file_path) dir_path = File.dirname(file_path) unless Dir.exists?(dir_path) FileUtils.mkdir_p(dir_path) end FileUtils.touch(file_path) end