diff options
author | Igor Bochkariov <ujifgc@gmail.com> | 2014-04-09 10:12:07 +0400 |
---|---|---|
committer | Igor Bochkariov <ujifgc@gmail.com> | 2014-07-19 10:38:35 +0400 |
commit | 9f0aa9257141f0ee0b5acbbb8b30c751d2e5a377 (patch) | |
tree | b10ff86703ed4e55b2f6381ddf410b369554cd8d | |
parent | 9269d22c56762076e3b775ea65ec1d40494d2402 (diff) | |
download | rack-9f0aa9257141f0ee0b5acbbb8b30c751d2e5a377.tar.gz |
add quiet mode of rack server, rackup --quiet
-rw-r--r-- | lib/rack/server.rb | 5 | ||||
-rw-r--r-- | test/spec_server.rb | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/rack/server.rb b/lib/rack/server.rb index d2f0b954..42afb742 100644 --- a/lib/rack/server.rb +++ b/lib/rack/server.rb @@ -30,6 +30,9 @@ module Rack opts.on("-w", "--warn", "turn warnings on for your script") { options[:warn] = true } + opts.on("-q", "--quiet", "turn off logging") { + options[:quiet] = true + } opts.on("-I", "--include PATH", "specify $LOAD_PATH (may be used more than once)") { |path| @@ -208,7 +211,7 @@ module Rack class << self def logging_middleware lambda { |server| - server.server.name =~ /CGI/ ? nil : [Rack::CommonLogger, $stderr] + server.server.name =~ /CGI/ || server.options[:quiet] ? nil : [Rack::CommonLogger, $stderr] } end diff --git a/test/spec_server.rb b/test/spec_server.rb index 01b4f562..6692c99e 100644 --- a/test/spec_server.rb +++ b/test/spec_server.rb @@ -61,6 +61,11 @@ describe Rack::Server do end end + should "be quiet if said so" do + server = Rack::Server.new(:app => "FOO", :quiet => true) + Rack::Server.logging_middleware.call(server).should.eql(nil) + end + should "not force any middleware under the none configuration" do server = Rack::Server.new(:app => 'foo') server.default_middleware_by_environment['none'].should.be.empty |