Class: EventMachine::Logger
- Inherits:
-
Object
- Object
- EventMachine::Logger
show all
- Defined in:
- lib/em_logger/logger.rb,
lib/em_logger/version.rb
Constant Summary
collapse
- VERSION =
'1.0.0'
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
-
#<<(data) ⇒ Object
-
#add(severity, message = nil, progname = nil) ⇒ Object
(also: #log)
-
#debug(progname = nil, &block) ⇒ Object
-
#error(progname = nil, &block) ⇒ Object
-
#fatal(progname = nil, &block) ⇒ Object
-
#info(progname = nil, &block) ⇒ Object
-
#initialize(logger) ⇒ Logger
constructor
A new instance of Logger.
-
#method_missing(method, *args, &block) ⇒ Object
-
#respond_to?(method, include_private = false) ⇒ Boolean
-
#unknown(progname = nil, &block) ⇒ Object
-
#warn(progname = nil, &block) ⇒ Object
Constructor Details
#initialize(logger) ⇒ Logger
Returns a new instance of Logger.
25
26
27
28
29
30
31
32
|
# File 'lib/em_logger/logger.rb', line 25
def initialize(logger)
@logger = logger
@logger_queue = ::Queue.new
start_worker
EM.add_shutdown_hook { drain } if EM.reactor_running?
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
78
79
80
81
|
# File 'lib/em_logger/logger.rb', line 78
def method_missing(method, *args, &block)
return super unless @logger.respond_to?(method)
@logger.send(method, *args, &block)
end
|
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
18
19
20
|
# File 'lib/em_logger/logger.rb', line 18
def logger
@logger
end
|
#logger_queue ⇒ Object
Returns the value of attribute logger_queue.
19
20
21
|
# File 'lib/em_logger/logger.rb', line 19
def logger_queue
@logger_queue
end
|
Class Method Details
.logger(logger = nil) ⇒ Object
21
22
23
|
# File 'lib/em_logger/logger.rb', line 21
def self.logger(logger = nil)
@logger ||= new(logger || ::Logger.new(STDOUT))
end
|
Instance Method Details
#<<(data) ⇒ Object
74
75
76
|
# File 'lib/em_logger/logger.rb', line 74
def <<(data)
@logger_queue.push(LogMessage.new(nil, data))
end
|
#add(severity, message = nil, progname = nil) ⇒ Object
Also known as:
log
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/em_logger/logger.rb', line 34
def add(severity, message = nil, progname = nil)
return true if severity < @logger.level
if message.nil?
if block_given?
message = yield
else
message = progname
progname = @logger.progname
end
end
@logger_queue.push(LogMessage.new(severity, message, progname))
@worker.wakeup
end
|
#debug(progname = nil, &block) ⇒ Object
50
51
52
|
# File 'lib/em_logger/logger.rb', line 50
def debug(progname = nil, &block)
add(::Logger::DEBUG, nil, progname, &block)
end
|
#error(progname = nil, &block) ⇒ Object
62
63
64
|
# File 'lib/em_logger/logger.rb', line 62
def error(progname = nil, &block)
add(::Logger::ERROR, nil, progname, &block)
end
|
#fatal(progname = nil, &block) ⇒ Object
66
67
68
|
# File 'lib/em_logger/logger.rb', line 66
def fatal(progname = nil, &block)
add(::Logger::FATAL, nil, progname, &block)
end
|
#info(progname = nil, &block) ⇒ Object
54
55
56
|
# File 'lib/em_logger/logger.rb', line 54
def info(progname = nil, &block)
add(::Logger::INFO, nil, progname, &block)
end
|
#respond_to?(method, include_private = false) ⇒ Boolean
83
84
85
|
# File 'lib/em_logger/logger.rb', line 83
def respond_to?(method, include_private = false)
@logger.respond_to?(method, include_private) || super(method, include_private)
end
|
#unknown(progname = nil, &block) ⇒ Object
70
71
72
|
# File 'lib/em_logger/logger.rb', line 70
def unknown(progname = nil, &block)
add(::Logger::UNKNOWN, nil, progname, &block)
end
|
#warn(progname = nil, &block) ⇒ Object
58
59
60
|
# File 'lib/em_logger/logger.rb', line 58
def warn(progname = nil, &block)
add(::Logger::WARN, nil, progname, &block)
end
|