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