rack.git  about / heads / tags
a modular Ruby webserver interface
blob 6c4bede0cf37eedf036dfd8290f0df43c2b10c13 384 bytes (raw)
$ git show no-unicorn:lib/rack/logger.rb	# shows this blob on the CLI

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
 
# frozen_string_literal: true

require 'logger'

module Rack
  # Sets up rack.logger to write to rack.errors stream
  class Logger
    def initialize(app, level = ::Logger::INFO)
      @app, @level = app, level
    end

    def call(env)
      logger = ::Logger.new(env[RACK_ERRORS])
      logger.level = @level

      env[RACK_LOGGER] = logger
      @app.call(env)
    end
  end
end

git clone https://yhbt.net/rack.git