class Logger
A compatible interface for ::Logger
which can be used with module Console
.
Nested
Definitions
def initialize(subject, output = Console)
Create a new (compatible) logger.
Signature
-
parameter
subject
String
The subject of the log messages.
-
parameter
output
Console::Interface
The output interface.
Implementation
def initialize(subject, output = Console)
super(nil)
@progname = subject
@logdev = LogDevice.new(subject, output)
end
def add(severity, message = nil, progname = nil)
Log a message with the given severity.
Signature
-
parameter
severity
Integer
The severity of the message.
-
parameter
message
String
The message to log.
-
parameter
progname
String
The program name.
-
returns
Boolean
True if the message was logged.
Implementation
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
def format_severity(value)
Format the severity.
Signature
-
parameter
value
Integer
The severity value.
-
returns
Symbol
The formatted severity.
Implementation
def format_severity(value)
super.downcase.to_sym
end