class Shift::CircuitBreaker::CircuitLogger
Constants
- ERROR_MESSAGE
Attributes
logger[RW]
remote_logger[RW]
Public Class Methods
new(logger: ::Logger.new(STDOUT), remote_logger: Shift::CircuitBreaker::Adapters::SentryAdapter)
click to toggle source
Initializer creates an instance of the service
@param [Object] logger - service to handle internal logging @param [Object] remote_logger
- external error logging service eg. Sentry
# File lib/shift/circuit_breaker/circuit_logger.rb, line 23 def initialize(logger: ::Logger.new(STDOUT), remote_logger: Shift::CircuitBreaker::Adapters::SentryAdapter) self.logger = logger self.remote_logger = remote_logger end
Public Instance Methods
error(context)
click to toggle source
@param [Object] context - contains :circuit_name, :state, :error_message
# File lib/shift/circuit_breaker/circuit_logger.rb, line 29 def error(context) message = (ERROR_MESSAGE % context) logger.error(message) remote_logger.call(message) if remote_logger.respond_to?(:call) end