20 lines
387 B
Ruby
20 lines
387 B
Ruby
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
|