根据错误级别将 OmniAuth 记录器配置为两个不同的记录器
Configure OmniAuth logger to two different loggers depending the level of the error
在我的 Rails 5 应用程序中,我有 'omniauth', '~> 2.0.3'
在我的配置 config/initializers/omniauth.rb
中,我将记录器附加到 Rails.logger
。
OmniAuth.config.logger = Rails.logger
我想做的是如果日志级别是 error
我想使用 Rollbar 而不是 Rails 记录器。
有办法吗?
您可以创建一个代理记录器,将 error
级别的日志委托给 Rollbar
,其他级别将委托给 Rails.logger
class ProxyLogger
delegate :error, to: :@error_logger
delegate_missing_to :@default_logger
def initialize(error_logger:, default_logger: Rails.logger)
@default_logger = default_logger
@error_logger = error_logger
end
end
OmniAuth.config.logger = ProxyLogger.new(error_logger: Rollbar)
在我的 Rails 5 应用程序中,我有 'omniauth', '~> 2.0.3'
在我的配置 config/initializers/omniauth.rb
中,我将记录器附加到 Rails.logger
。
OmniAuth.config.logger = Rails.logger
我想做的是如果日志级别是 error
我想使用 Rollbar 而不是 Rails 记录器。
有办法吗?
您可以创建一个代理记录器,将 error
级别的日志委托给 Rollbar
,其他级别将委托给 Rails.logger
class ProxyLogger
delegate :error, to: :@error_logger
delegate_missing_to :@default_logger
def initialize(error_logger:, default_logger: Rails.logger)
@default_logger = default_logger
@error_logger = error_logger
end
end
OmniAuth.config.logger = ProxyLogger.new(error_logger: Rollbar)