Sha256: acd3c5fff190916d44125c889cd13c91fdc7a7c83a976ddb3a075166b289920a
Contents?: true
Size: 1.09 KB
Versions: 57
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true require 'logger' require 'kubernetes-deploy/deferred_summary_logging' module KubernetesDeploy class FormattedLogger < Logger include DeferredSummaryLogging def self.build(namespace, context, stream = $stderr, verbose_prefix: false) l = new(stream) l.level = level_from_env l.formatter = proc do |severity, datetime, _progname, msg| middle = verbose_prefix ? "[#{context}][#{namespace}]" : "" colorized_line = ColorizedString.new("[#{severity}][#{datetime}]#{middle}\t#{msg}\n") case severity when "FATAL" ColorizedString.new("[#{severity}][#{datetime}]#{middle}\t").red + "#{msg}\n" when "ERROR" colorized_line.red when "WARN" colorized_line.yellow else colorized_line end end l end def self.level_from_env return ::Logger::DEBUG if ENV["DEBUG"] if ENV["LEVEL"] ::Logger.const_get(ENV["LEVEL"].upcase) else ::Logger::INFO end end private_class_method :level_from_env end end
Version data entries
57 entries across 57 versions & 1 rubygems