Sha256: 37c0b5e2ac6ec3d86b773c9a3e16a23893f67b214508e1a3c67776c8902edd84

Contents?: true

Size: 787 Bytes

Versions: 1

Compression:

Stored size: 787 Bytes

Contents

# frozen_string_literal: true

# Provides a hook in Rails controllers that allows enriching log lines from within a Rails request
# with data that is available only within a controller action, for instance user information.

module Loggery
  module Controller
    module LoggingContext
      extend ActiveSupport::Concern

      included do
        before_action :loggery_set_metadata
      end

      # to be overridden in including class
      def loggery_log_context
        {}
      end

      def loggery_set_metadata
        return unless Loggery::Metadata::Store.store
        metadata = loggery_default_metadata.merge loggery_log_context
        Loggery::Metadata::Store.store.merge!(metadata)
      end

      def loggery_default_metadata
        {}
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
loggery-0.1.0 lib/loggery/controller/logging_context.rb