diff options
author | wayneeseguin <wayneeseguin@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-12-16 20:50:51 +0000 |
---|---|---|
committer | wayneeseguin <wayneeseguin@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-12-16 20:50:51 +0000 |
commit | 28dfa968049c714ba53fefc46100d13e6674c55e (patch) | |
tree | 22c2310d7f70a4fbad9a8ab048ee9a476a000a2d | |
parent | 9061bd413020f9fd37eee935b9ff34d4b6c12396 (diff) | |
download | unicorn-28dfa968049c714ba53fefc46100d13e6674c55e.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@915 19e92222-5c0b-0410-8929-a290d50e31e9
-rw-r--r-- | Manifest | 1 | ||||
-rw-r--r-- | TODO | 4 | ||||
-rw-r--r-- | lib/mongrel.rb | 7 | ||||
-rw-r--r-- | lib/mongrel/configurator.rb | 10 | ||||
-rw-r--r-- | lib/mongrel/logger.rb | 8 |
5 files changed, 17 insertions, 13 deletions
@@ -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 @@ -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 |