about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/unicorn.rb4
-rw-r--r--test/unit/test_server.rb10
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/unicorn.rb b/lib/unicorn.rb
index 71d5994..cf58165 100644
--- a/lib/unicorn.rb
+++ b/lib/unicorn.rb
@@ -249,6 +249,10 @@ module Unicorn
     def stdout_path=(path); redirect_io($stdout, path); end
     def stderr_path=(path); redirect_io($stderr, path); end
 
+    def logger=(obj)
+      HttpRequest::DEFAULTS["rack.logger"] = super
+    end
+
     # sets the path for the PID file of the master process
     def pid=(path)
       if path
diff --git a/test/unit/test_server.rb b/test/unit/test_server.rb
index 55147b7..00705d0 100644
--- a/test/unit/test_server.rb
+++ b/test/unit/test_server.rb
@@ -228,6 +228,16 @@ class WebServerTest < Test::Unit::TestCase
     end
   end
 
+  def test_logger_set
+    assert_equal @server.logger, Unicorn::HttpRequest::DEFAULTS["rack.logger"]
+  end
+
+  def test_logger_changed
+    tmp = Logger.new($stdout)
+    @server.logger = tmp
+    assert_equal tmp, Unicorn::HttpRequest::DEFAULTS["rack.logger"]
+  end
+
   def test_bad_client_400
     sock = nil
     assert_nothing_raised do