Sha256: 230226ec3757b57fe0a9a746af80a40fa584ac4aba957f25f6cdae99439ddff1

Contents?: true

Size: 913 Bytes

Versions: 3

Compression:

Stored size: 913 Bytes

Contents

# frozen_string_literal: true

require 'airbrake/rails/railtie'

module Airbrake
  # Rails namespace holds all Rails-related functionality.
  module Rails
    def self.logger
      # Rails.logger is not set in some Rake tasks such as
      # 'airbrake:deploy'. In this case we use a sensible fallback.
      level = (::Rails.logger ? ::Rails.logger.level : Logger::ERROR)

      if ENV['RAILS_LOG_TO_STDOUT'].present?
        Logger.new(STDOUT, level: level)
      else
        Logger.new(::Rails.root.join('log', 'airbrake.log'), level: level)
      end
    end
  end
end

if defined?(ActionController::Metal)
  require 'airbrake/rails/action_controller'
  module ActionController
    # Adds support for Rails API/Metal for Rails < 5. Rails 5+ uses standard
    # hooks.
    # @see https://github.com/airbrake/airbrake/issues/821
    class Metal
      include Airbrake::Rails::ActionController
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
airbrake-11.0.3 lib/airbrake/rails.rb
airbrake-11.0.2 lib/airbrake/rails.rb
airbrake-11.0.1 lib/airbrake/rails.rb