Class: Hubbado::Log::RailsLogger
- Inherits:
-
LogHandler
- Object
- LogHandler
- Hubbado::Log::RailsLogger
- Defined in:
- lib/hubbado/log/rails_logger.rb
Overview
Writes a log line into a Rails application's own log.
Constant Summary collapse
- RAILS_SEVERITIES =
Rails has no logger method below debug, so the gem's trace is written as one. A handler passing it straight through raises NoMethodError on the first trace line it is handed.
{ trace: :debug }.freeze
Instance Method Summary collapse
-
#initialize(rails_logger: nil) ⇒ RailsLogger
constructor
A new instance of RailsLogger.
- #log(subject, severity, message, data = nil, stacktrace = nil) ⇒ Object
Constructor Details
#initialize(rails_logger: nil) ⇒ RailsLogger
Returns a new instance of RailsLogger.
11 12 13 14 15 |
# File 'lib/hubbado/log/rails_logger.rb', line 11 def initialize(rails_logger: nil) super() @rails_logger = rails_logger end |
Instance Method Details
#log(subject, severity, message, data = nil, stacktrace = nil) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/hubbado/log/rails_logger.rb', line 17 def log(subject, severity, , data = nil, stacktrace = nil) rails_severity = RAILS_SEVERITIES.fetch(severity.to_sym, severity) rails_logger.send(rails_severity, "#{subject}: #{}") details(data, stacktrace).each do |detail| rails_logger.send(rails_severity, detail) end end |