Module: K8s::Logging

Extended by:
ModuleMethods
Included in:
Stack, Transport
Defined in:
lib/k8s/logging.rb

Defined Under Namespace

Modules: ClassMethods, ModuleMethods

Constant Summary collapse

LOG_TARGET =
STDERR
LOG_LEVEL =
Logger::WARN

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ModuleMethods

debug!, log_level, log_level=, quiet!, verbose!

Class Method Details

.included(base) ⇒ Object



38
39
40
41
# File 'lib/k8s/logging.rb', line 38

def self.included(base)
  base.extend(ModuleMethods) # per-class @log_level
  base.extend(ClassMethods)
end

Instance Method Details

#loggerLogger

Returns:

  • (Logger)


54
55
56
# File 'lib/k8s/logging.rb', line 54

def logger
  @logger || self.class.logger
end

#logger!(progname: self.class.name, target: LOG_TARGET, level: nil, debug: false) ⇒ Object

Use per-instance logger



44
45
46
47
48
49
50
51
# File 'lib/k8s/logging.rb', line 44

def logger!(progname: self.class.name, target: LOG_TARGET, level: nil, debug: false)
  @logger = Logger.new(target).tap do |logger|
    level = Logger::DEBUG if debug

    logger.progname = "#{self.class.name}<#{progname}>"
    logger.level = level || self.class.log_level || K8s::Logging.log_level || LOG_LEVEL
  end
end