Sha256: 220710cba77808254a7ea4ad6f8923ba9e73ff9908f7235cb2483d19cd8b890f

Contents?: true

Size: 839 Bytes

Versions: 5

Compression:

Stored size: 839 Bytes

Contents

module Grape
  module Batch
    # Main class logger
    class Logger
      def prepare(env)
        rack_timeout_info = env['rack-timeout.info'][:id] if env['rack-timeout.info']
        @request_id = env['HTTP_X_REQUEST_ID'] || rack_timeout_info || SecureRandom.hex
        @logger = Grape::Batch.configuration.logger || rails_logger || default_logger
        self
      end

      def default_logger
        logger = Logger.new($stdout)
        logger.level = Logger::INFO
        logger
      end

      def rails_logger
        defined?(::Rails) && ::Rails.respond_to?(:logger) && ::Rails.logger
      end

      def batch_begin
        @logger.info("--- Grape::Batch #{@request_id} BEGIN")
        self
      end

      def batch_end
        @logger.info("--- Grape::Batch #{@request_id} END")
        self
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
grape-batch-2.3.0 lib/grape/batch/logger.rb
grape-batch-2.2.2 lib/grape/batch/logger.rb
grape-batch-2.2.1 lib/grape/batch/logger.rb
grape-batch-2.2.0 lib/grape/batch/logger.rb
grape-batch-2.1.1 lib/grape/batch/logger.rb