Sha256: f5602c7a9e39faca87cd2d33aaa4624fba08ca9d7add1aad7049b121afa22d1c

Contents?: true

Size: 582 Bytes

Versions: 21

Compression:

Stored size: 582 Bytes

Contents

# frozen_string_literal: true

module AnyCable
  module Rails
    module Middlewares
      # Middleware to add `sid` (session ID) tag to logs.
      #
      # Session ID could be provided through gRPC metadata `sid` key.
      #
      # See https://github.com/grpc/grpc-go/blob/master/Documentation/grpc-metadata.md
      class LogTagging < AnyCable::Middleware
        def call(_request, call, _method)
          sid = call.metadata["sid"]
          return yield unless sid

          AnyCable.logger.tagged("AnyCable sid=#{sid}") { yield }
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
anycable-rails-1.0.8 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.1.0.pre1 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.7 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.5 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.4 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.3 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.2 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.1 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0.rc4 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0.rc3 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0.rc2 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0.rc1 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0.preview2 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-1.0.0.preview1 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-0.6.5 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-0.6.4 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-0.6.3 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-0.6.2 lib/anycable/rails/middlewares/log_tagging.rb
anycable-rails-0.6.1 lib/anycable/rails/middlewares/log_tagging.rb