From 45c3d819eaa9849265280858acf5fd4c461cf049 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Fri, 11 Dec 2009 16:29:43 -0600 Subject: Nop NullLogger --- lib/rack.rb | 1 + lib/rack/nulllogger.rb | 9 +++++++++ test/spec_rack_nulllogger.rb | 13 +++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 lib/rack/nulllogger.rb create mode 100644 test/spec_rack_nulllogger.rb diff --git a/lib/rack.rb b/lib/rack.rb index 5f0e797b..3d8e8ed8 100644 --- a/lib/rack.rb +++ b/lib/rack.rb @@ -42,6 +42,7 @@ module Rack autoload :Lock, "rack/lock" autoload :MethodOverride, "rack/methodoverride" autoload :Mime, "rack/mime" + autoload :NullLogger, "rack/nulllogger" autoload :Recursive, "rack/recursive" autoload :Reloader, "rack/reloader" autoload :Runtime, "rack/runtime" diff --git a/lib/rack/nulllogger.rb b/lib/rack/nulllogger.rb new file mode 100644 index 00000000..a5a2fac4 --- /dev/null +++ b/lib/rack/nulllogger.rb @@ -0,0 +1,9 @@ +module Rack + class NullLogger + def info(progname = nil, &block); end + def debug(progname = nil, &block); end + def warn(progname = nil, &block); end + def error(progname = nil, &block); end + def fatal(progname = nil, &block); end + end +end diff --git a/test/spec_rack_nulllogger.rb b/test/spec_rack_nulllogger.rb new file mode 100644 index 00000000..b14a200a --- /dev/null +++ b/test/spec_rack_nulllogger.rb @@ -0,0 +1,13 @@ +require 'rack/nulllogger' +require 'rack/lint' +require 'rack/mock' + +context "Rack::NullLogger" do + specify "acks as a nop logger" do + app = lambda { |env| + env['rack.logger'].warn "b00m" + [200, {'Content-Type' => 'text/plain'}, ["Hello, World!"]] + } + app.call({'rack.logger' => Rack::NullLogger.new}) + end +end -- cgit v1.2.3-24-ge0c7