Class: KubernetesDeploy::FormattedLogger

Inherits:
Logger
  • Object
show all
Includes:
DeferredSummaryLogging
Defined in:
lib/kubernetes-deploy/formatted_logger.rb

Instance Attribute Summary

Attributes included from DeferredSummaryLogging

#summary

Class Method Summary collapse

Methods included from DeferredSummaryLogging

#blank_line, #heading, #initialize, #phase_heading, #print_summary, #reset

Class Method Details

.build(namespace, context, stream = $stderr, verbose_prefix: false) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/kubernetes-deploy/formatted_logger.rb', line 9

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