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

Version Path
kubernetes-deploy-0.22.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.21.1 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.21.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.6 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.5 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.4 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.3 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.2 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.1 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.20.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.19.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.18.1 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.18.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.17.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.16.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.15.2 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.15.1 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.15.0 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.14.1 lib/kubernetes-deploy/formatted_logger.rb
kubernetes-deploy-0.14.0 lib/kubernetes-deploy/formatted_logger.rb