Class: Console::Compatible::Logger

Inherits:
Logger
  • Object
show all
Defined in:
lib/console/compatible/logger.rb

Defined Under Namespace

Classes: LogDevice

Instance Method Summary collapse

Constructor Details

#initialize(subject, output = Console) ⇒ Logger

Returns a new instance of Logger.



32
33
34
35
36
37
# File 'lib/console/compatible/logger.rb', line 32

def initialize(subject, output = Console)
  super(nil)
  
  @progname = subject
  @logdev = LogDevice.new(subject, output)
end

Instance Method Details

#add(severity, message = nil, progname = nil) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/console/compatible/logger.rb', line 39

def add(severity, message = nil, progname = nil)
  severity ||= UNKNOWN
  
  if @logdev.nil? or severity < level
    return true
  end
  
  if progname.nil?
    progname = @progname
  end
  
  if message.nil?
    if block_given?
      message = yield
    else
      message = progname
      progname = @progname
    end
  end
  
  @logdev.call(
    progname, message,
    severity: format_severity(severity)
  )
  
  return true
end

#format_severity(value) ⇒ Object



67
68
69
# File 'lib/console/compatible/logger.rb', line 67

def format_severity(value)
  super.downcase.to_sym
end