Class: Console::Compatible::Logger

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

Overview

A compatible interface for Logger which can be used with Console.

Defined Under Namespace

Classes: LogDevice

Instance Method Summary collapse

Constructor Details

#initialize(subject, output = Console) ⇒ Logger

Create a new (compatible) logger.



53
54
55
56
57
58
# File 'lib/console/compatible/logger.rb', line 53

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

Instance Method Details

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

Log a message with the given severity.



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/console/compatible/logger.rb', line 66

def add(severity, message = nil, progname = nil, **options)
  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,
    **options,
    severity: format_severity(severity)
  )
  
  return true
end

#format_severity(value) ⇒ Object

Format the severity.



99
100
101
# File 'lib/console/compatible/logger.rb', line 99

def format_severity(value)
  super.downcase.to_sym
end