Sha256: 6e56c29c5ade92eccf43d58dbd7c349ef2a3f01bb67da2b1a4ea21172d34d309
Contents?: true
Size: 1017 Bytes
Versions: 1
Compression:
Stored size: 1017 Bytes
Contents
# frozen_string_literal: true require 'twirp_rails/routes' module TwirpRails module LoggingAdapter # :nodoc: def self.install return unless defined?(ActiveSupport::Notifications) TwirpRails::Routes::Helper.on_create_service do |service| LoggingAdapter.instrument service end end def self.instrument(service) instrumenter = ActiveSupport::Notifications.instrumenter service.before do |rack_env, env| payload = { rack_env: rack_env, env: env } instrumenter.start 'instrumenter.twirp', payload end service.on_error do |_twerr, _env| instrumenter.finish 'instrumenter.twirp', nil end service.on_success do |_env| instrumenter.finish 'instrumenter.twirp', nil end service.exception_raised do |e, env| env[:exception] = { class: e.class, message: e.message, backtrace: e.backtrace.join("\n") } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
twirp_rails-0.2.0 | lib/twirp_rails/logging_adapter.rb |