Class: Lapsoss::Adapters::LoggerAdapter
- Defined in:
- lib/lapsoss/adapters/logger_adapter.rb
Constant Summary
Constants inherited from Base
Base::JSON_CONTENT_TYPE, Base::USER_AGENT
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #capabilities ⇒ Object
- #capture(event) ⇒ Object
-
#initialize(name, settings = {}) ⇒ LoggerAdapter
constructor
A new instance of LoggerAdapter.
Methods inherited from Base
#disable!, #enable!, #enabled?, #flush, #shutdown, #supports?
Methods included from Validators
logger, validate_api_key!, validate_callable!, validate_dsn!, validate_environment!, validate_presence!, validate_retries!, validate_sample_rate!, validate_timeout!, validate_url!
Constructor Details
#initialize(name, settings = {}) ⇒ LoggerAdapter
Returns a new instance of LoggerAdapter.
8 9 10 11 |
# File 'lib/lapsoss/adapters/logger_adapter.rb', line 8 def initialize(name, settings = {}) @logger = settings[:logger] || Logger.new($stdout) super end |
Instance Method Details
#capabilities ⇒ Object
13 14 15 16 17 |
# File 'lib/lapsoss/adapters/logger_adapter.rb', line 13 def capabilities super.merge( breadcrumbs: true ) end |
#capture(event) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/lapsoss/adapters/logger_adapter.rb', line 19 def capture(event) case event.type when :exception @logger.error(format_exception(event.exception, event.context)) when :message logger_level = map_level(event.level) @logger.send(logger_level, (event., event.context)) else @logger.info("[LAPSOSS] Unhandled event type: #{event.type.inspect} | Event: #{event.to_h.inspect}") end # Log breadcrumbs if present in the event context return unless event.context[:breadcrumbs]&.any? event.context[:breadcrumbs].each do || = "[BREADCRUMB] [#{[:type].upcase}] #{[:message]}" += " | #{[:metadata].inspect}" unless [:metadata].empty? @logger.debug() end end |