about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorwayneeseguin <wayneeseguin@19e92222-5c0b-0410-8929-a290d50e31e9>2007-12-16 20:50:51 +0000
committerwayneeseguin <wayneeseguin@19e92222-5c0b-0410-8929-a290d50e31e9>2007-12-16 20:50:51 +0000
commit28dfa968049c714ba53fefc46100d13e6674c55e (patch)
tree22c2310d7f70a4fbad9a8ab048ee9a476a000a2d
parent9061bd413020f9fd37eee935b9ff34d4b6c12396 (diff)
downloadunicorn-28dfa968049c714ba53fefc46100d13e6674c55e.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@915 19e92222-5c0b-0410-8929-a290d50e31e9
-rw-r--r--Manifest1
-rw-r--r--TODO4
-rw-r--r--lib/mongrel.rb7
-rw-r--r--lib/mongrel/configurator.rb10
-rw-r--r--lib/mongrel/logger.rb8
5 files changed, 17 insertions, 13 deletions
diff --git a/Manifest b/Manifest
index 6a77dad..9c9d8ca 100644
--- a/Manifest
+++ b/Manifest
@@ -37,6 +37,7 @@ lib/mongrel/header_out.rb
 lib/mongrel/http_request.rb
 lib/mongrel/http_response.rb
 lib/mongrel/init.rb
+lib/mongrel/logger.rb
 lib/mongrel/mime_types.yml
 lib/mongrel/rails.rb
 lib/mongrel/stats.rb
diff --git a/TODO b/TODO
index ef6ee96..050612e 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,2 @@
 
 * Rewrite and merge mongrel cluster and mongrel_rails into something small and maintainable.
-* Refactor logging to include timestamps.
-* See if Java is setting the server version string in the request properly.
-* Figure out why Java writes to STDERR instead of the file in the middle of one of the tests.
-* Remove cgi_multipart_eof_fix and fastthread permanently (for 1.2).
diff --git a/lib/mongrel.rb b/lib/mongrel.rb
index da371af..af558e7 100644
--- a/lib/mongrel.rb
+++ b/lib/mongrel.rb
@@ -69,6 +69,8 @@ module Mongrel
     attr_reader :timeout
     attr_reader :num_processors
 
+    attr_accessor :logger
+
     # Creates a working server on host:port (strange things happen if port isn't a Number).
     # Use HttpServer::run to start the server and HttpServer.acceptor.join to
     # join the thread that's processing incoming requests on the socket.
@@ -82,7 +84,7 @@ module Mongrel
     # The throttle parameter is a sleep timeout (in hundredths of a second) that is placed between
     # socket.accept calls in order to give the server a cheap throttle time.  It defaults to 0 and
     # actually if it is 0 then the sleep is not done at all.
-    def initialize(host, port, num_processors=950, throttle=0, timeout=60, log=nil)
+    def initialize(host, port, num_processors=950, throttle=0, timeout=60, log=nil, log_level=:debug)
       
       tries = 0
       @socket = TCPServer.new(host, port)
@@ -94,7 +96,8 @@ module Mongrel
       @throttle = throttle
       @num_processors = num_processors
       @timeout = timeout
-      Mongrel::Logger = Mongrel::Log.new(log || "mongrel-#{port}.log")
+      # Mongrel.logger = Mongrel::Log.new(log || "mongrel-#{port}.log")
+      @logger = Mongrel::Log.new(log || "mongrel-#{port}.log", log_level)
     end
 
     # Does the majority of the IO processing.  It has been written in Ruby using
diff --git a/lib/mongrel/configurator.rb b/lib/mongrel/configurator.rb
index 92127e5..0bb3c62 100644
--- a/lib/mongrel/configurator.rb
+++ b/lib/mongrel/configurator.rb
@@ -249,7 +249,7 @@ module Mongrel
       mime = load_yaml(file, mime)
 
       # check all the mime types to make sure they are the right format
-      mime.each {|k,v| log(, "WARNING: MIME type #{k} must start with '.'") if k.index(".") != 0 }
+      mime.each {|k,v| log(:warning, "WARNING: MIME type #{k} must start with '.'") if k.index(".") != 0 }
 
       return mime
     end
@@ -361,18 +361,18 @@ module Mongrel
       ops = resolve_defaults(options)
 
       # forced shutdown, even if previously restarted (actually just like TERM but for CTRL-C)
-      trap("INT") { log(:notice, "INT signal received."; stop(false) }
+      trap("INT") { log(:notice, "INT signal received."); stop(false) }
 
       # always clean up the pid file
       at_exit { remove_pid_file }
 
       unless RUBY_PLATFORM =~ /djgpp|(cyg|ms|bcc)win|mingw/
         # graceful shutdown
-        trap("TERM") { log(:notice, "TERM signal received."; stop) }
+        trap("TERM") { log(:notice, "TERM signal received."); stop }
         # debug mode
-        trap("USR1") { log(:notice, "USR1 received, toggling $mongrel_debug_client to #{!$mongrel_debug_client}"; $mongrel_debug_client = !$mongrel_debug_client) }
+        trap("USR1") { log(:notice, "USR1 received, toggling $mongrel_debug_client to #{!$mongrel_debug_client}"); $mongrel_debug_client = !$mongrel_debug_client }
         # restart
-        trap("USR2") { log(:notice, "USR2 signal received."; stop(true)) }
+        trap("USR2") { log(:notice, "USR2 signal received."); stop(true) }
 
         log(:notice, "Signals ready.  TERM => stop.  USR2 => restart.  INT => stop (no restart).")
       else
diff --git a/lib/mongrel/logger.rb b/lib/mongrel/logger.rb
index 8e77f60..e3dee7f 100644
--- a/lib/mongrel/logger.rb
+++ b/lib/mongrel/logger.rb
@@ -3,6 +3,10 @@
 #       Merb:  http://merbivore.com
 module Mongrel
 
+  #class << self
+  #  attr_accessor :logger
+  #end
+
   class Log
     attr_accessor :logger
     attr_accessor :log_level
@@ -12,7 +16,7 @@ module Mongrel
       :id => { 0 => :emergency, 1 => :alert, 2 => :critical, 3 => :error, 4 => :warning, 5 => :notice, 6 => :info, 7 => :debug }
     }
     
-    def initialize(log, log_level)
+    def initialize(log, log_level = :debug)
       @logger    = initialize_io(log)
       @log_level = Levels[:name][log_level]
 
@@ -56,7 +60,7 @@ module Mongrel
   
   # Convenience wrapper for logging, allows us to use Mongrel.log
   def self.log(level, string)
-    Mongrel::Logger.log(level,string)
+    logger.log(level,string)
   end
   
 end