summary refs log tree commit
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2009-12-11 16:29:43 -0600
committerJoshua Peek <josh@joshpeek.com>2009-12-11 16:29:43 -0600
commit45c3d819eaa9849265280858acf5fd4c461cf049 (patch)
tree77b14bff62f40b20a8b93073d46b34f172b37327
parentdf22480a10063d3735374a394154658e72780c35 (diff)
downloadrack-45c3d819eaa9849265280858acf5fd4c461cf049.tar.gz
Nop NullLogger
-rw-r--r--lib/rack.rb1
-rw-r--r--lib/rack/nulllogger.rb9
-rw-r--r--test/spec_rack_nulllogger.rb13
3 files changed, 23 insertions, 0 deletions
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