Class: Hubbado::Log::Logger
- Inherits:
-
Object
- Object
- Hubbado::Log::Logger
- Defined in:
- lib/hubbado/log/logger.rb
Instance Attribute Summary collapse
-
#log_handlers ⇒ Object
Returns the value of attribute log_handlers.
-
#subject ⇒ Object
Returns the value of attribute subject.
Instance Method Summary collapse
-
#initialize(subject, log_handlers = []) ⇒ Logger
constructor
A new instance of Logger.
- #log(severity, msg, data = nil) ⇒ Object
Constructor Details
#initialize(subject, log_handlers = []) ⇒ Logger
Returns a new instance of Logger.
7 8 9 10 |
# File 'lib/hubbado/log/logger.rb', line 7 def initialize(subject, log_handlers = []) self.subject = subject self.log_handlers = Array(log_handlers) end |
Instance Attribute Details
#log_handlers ⇒ Object
Returns the value of attribute log_handlers.
4 5 6 |
# File 'lib/hubbado/log/logger.rb', line 4 def log_handlers @log_handlers end |
#subject ⇒ Object
Returns the value of attribute subject.
5 6 7 |
# File 'lib/hubbado/log/logger.rb', line 5 def subject @subject end |
Instance Method Details
#log(severity, msg, data = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/hubbado/log/logger.rb', line 12 def log(severity, msg, data = nil) unless SEVERITIES.keys.include? severity.to_sym raise ArgumentError, "Unknown serverity #{severity}" end stacktrace = if data.is_a?(Exception) data. elsif STACKTRACE_SEVERITIES.include?(severity) format_stacktrace Kernel.caller end log_handlers.each do |handler| handler.log(subject, severity, msg, data, stacktrace) end end |