class KubeDeployTools::FormattedLogger
Public Class Methods
build(context: nil, namespace: nil, stream: $stderr)
click to toggle source
# File lib/kube_deploy_tools/formatted_logger.rb, line 12 def self.build(context: nil, namespace: nil, stream: $stderr) l = new(stream) l.level = level_from_env l.formatter = proc do |severity, datetime, _progname, msg| middle = context ? "[#{context}]" : "" if ! namespace.nil? && namespace != 'default' middle += "[#{namespace}]" end dt = datetime.strftime('%F %T') colorized_line = ColorizedString.new("[#{severity}][#{dt}]#{middle} #{msg}\n") case severity when "FATAL" ColorizedString.new("[#{severity}][#{dt}]#{middle} ").red + "#{msg}\n" when "ERROR" colorized_line.red when "WARN" colorized_line.yellow else colorized_line end end l end
Private Class Methods
level_from_env()
click to toggle source
# File lib/kube_deploy_tools/formatted_logger.rb, line 39 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