rack.git  about / heads / tags
a modular Ruby webserver interface
blob d67d8ce2d28853f16151390ee7cf8663a3298645 387 bytes (raw)
$ git show rack.io: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
 
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)
    ensure
      logger.close
    end
  end
end

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