Class: Pepys::Logger
- Inherits:
-
Object
show all
- Defined in:
- lib/pepys/logger.rb
Constant Summary
collapse
- REFUSE_TO_FORWARD =
%i(formatter=)
Instance Method Summary
collapse
Constructor Details
#initialize(program_name, io, hostname: Socket.gethostname) ⇒ Logger
Returns a new instance of Logger.
11
12
13
14
15
16
|
# File 'lib/pepys/logger.rb', line 11
def initialize(program_name, io, hostname: Socket.gethostname)
self.program_name = program_name
self.hostname = hostname
self.logger = ::Logger.new(io)
logger.formatter = Formatter.new(self)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meffod, *args) ⇒ Object
30
31
32
33
34
35
36
37
38
|
# File 'lib/pepys/logger.rb', line 30
def method_missing(meffod, *args)
return super if REFUSE_TO_FORWARD.include?(meffod)
if block_given?
logger.public_send(meffod, *args, &Proc.new)
else
logger.public_send(meffod, *args)
end
end
|
Instance Method Details
#base_fields ⇒ Object
18
19
20
21
22
23
24
|
# File 'lib/pepys/logger.rb', line 18
def base_fields
{
name: program_name,
pid: Process.pid,
hostname: hostname,
}
end
|
#respond_to_missing?(meffod) ⇒ Boolean
26
27
28
|
# File 'lib/pepys/logger.rb', line 26
def respond_to_missing?(meffod)
logger.respond_to?(meffod) && !REFUSE_TO_FORWARD.include?(meffod)
end
|