Class: Kuby::BasicLogger

Inherits:
Logger
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/kuby/basic_logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(logdev, shift_age = 0, shift_size = 1048576, level: DEBUG, progname: nil, formatter: nil, datetime_format: nil, shift_period_suffix: '%Y%m%d') ⇒ BasicLogger

Returns a new instance of BasicLogger.



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/kuby/basic_logger.rb', line 22

def initialize(
    logdev, shift_age = 0, shift_size = 1048576, level: DEBUG,
    progname: nil, formatter: nil, datetime_format: nil,
    shift_period_suffix: '%Y%m%d')
  @logdev = T.let(@logdev, T.nilable(Logger::LogDevice))

  super

  self.formatter = proc do |_severity, _datetime, _progname, msg|
    "#{msg}\n"
  end
end

Instance Method Details

#fatal(progname_or_msg = nil, &block) ⇒ Object



55
56
57
58
59
60
61
# File 'lib/kuby/basic_logger.rb', line 55

def fatal(progname_or_msg = nil, &block)
  if block
    super(progname_or_msg) { ColorizedString[block.call].red }
  else
    super(ColorizedString[progname_or_msg].red)
  end
end

#info(progname_or_msg = nil, &block) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/kuby/basic_logger.rb', line 41

def info(progname_or_msg = nil, &block)
  if block
    super(progname_or_msg) { ColorizedString[block.call].yellow }
  else
    super(ColorizedString[progname_or_msg].yellow)
  end
end

#last_statusObject



80
81
82
# File 'lib/kuby/basic_logger.rb', line 80

def last_status
  nil
end

#with_pipes(out = STDOUT, err = STDERR, &block) ⇒ Object



71
72
73
74
75
76
77
# File 'lib/kuby/basic_logger.rb', line 71

def with_pipes(out = STDOUT, err = STDERR, &block)
  previous_logdev = @logdev&.dev || STDERR
  reopen(err)
  yield
ensure
  reopen(previous_logdev)
end