Class: Browserctl::MultiLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/browserctl/logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(*loggers) ⇒ MultiLogger

Returns a new instance of MultiLogger.



27
28
29
# File 'lib/browserctl/logger.rb', line 27

def initialize(*loggers)
  @loggers = loggers
end

Instance Method Details

#debug(msg = nil) ⇒ Object

Delegate to each logger; swallow individual write failures so a broken file logger never crashes the daemon or drops a client response.



33
# File 'lib/browserctl/logger.rb', line 33

def debug(msg = nil, &) = @loggers.each { |l| l.debug(msg, &) rescue nil }

#error(msg = nil) ⇒ Object



36
# File 'lib/browserctl/logger.rb', line 36

def error(msg = nil, &) = @loggers.each { |l| l.error(msg, &) rescue nil }

#info(msg = nil) ⇒ Object



34
# File 'lib/browserctl/logger.rb', line 34

def info(msg = nil, &)  = @loggers.each { |l| l.info(msg, &)  rescue nil }

#levelObject



38
# File 'lib/browserctl/logger.rb', line 38

def level = @loggers.first&.level

#level=(lvl) ⇒ Object



40
41
42
# File 'lib/browserctl/logger.rb', line 40

def level=(lvl)
  @loggers.each { |l| l.level = lvl }
end

#warn(msg = nil) ⇒ Object



35
# File 'lib/browserctl/logger.rb', line 35

def warn(msg = nil, &)  = @loggers.each { |l| l.warn(msg, &)  rescue nil }