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.



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

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

Log a message with the given severity.



65
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
# File 'lib/console/compatible/logger.rb', line 65

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

Format the severity.



97
98
99
# File 'lib/console/compatible/logger.rb', line 97

def format_severity(value)
	super.downcase.to_sym
end