Sha256: e49398c52a9b47832f2f38165df6c299b063e5295d2e665869515694b263a179

Contents?: true

Size: 1.09 KB

Versions: 9

Compression:

Stored size: 1.09 KB

Contents

module Logtail
  module Frameworks
    # Module for Rails specific code, such as the Railtie and any methods that assist
    # with Rails setup.
    module Rails
      # Installs Logtail into your Rails app automatically.
      class Railtie < ::Rails::Railtie
        railtie_name 'logtail-rails'
        rake_tasks do
          path = File.expand_path(__dir__)
          load "#{path}/tasks/logtail.rake"
        end

        config.logtail = Config.instance

        config.before_initialize do
          Logtail::Config.instance.logger = Proc.new { ::Rails.logger }
        end

        # Must be loaded after initializers so that we respect any Logtail configuration set
        initializer(:logtail, before: :build_middleware_stack, after: :load_config_initializers) do
          Integrations::Rails.integrate!

          # Install the Rack middlewares so that we capture structured data instead of
          # raw text logs.
          Integrations::Rails.middlewares.collect do |middleware_class|
            config.app_middleware.use middleware_class
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
logtail-rails-0.2.1 lib/logtail-rails/railtie.rb
logtail-rails-0.1.8 lib/logtail-rails/railtie.rb
logtail-rails-0.1.7 lib/logtail-rails/railtie.rb
logtail-rails-0.1.6 lib/logtail-rails/railtie.rb
logtail-rails-0.1.5 lib/logtail-rails/railtie.rb
logtail-rails-0.1.4 lib/logtail-rails/railtie.rb
logtail-rails-0.1.3 lib/logtail-rails/railtie.rb
logtail-rails-0.1.2 lib/logtail-rails/railtie.rb
logtail-rails-0.1.1 lib/logtail-rails/railtie.rb