diff options
Diffstat (limited to 'lib/rack/logger.rb')
-rw-r--r-- | lib/rack/logger.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rack/logger.rb b/lib/rack/logger.rb new file mode 100644 index 00000000..d67d8ce2 --- /dev/null +++ b/lib/rack/logger.rb @@ -0,0 +1,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 |