diff options
author | Todd Willey <todd@ansolabs.com> | 2011-01-12 14:31:28 -0500 |
---|---|---|
committer | Todd Willey <todd@ansolabs.com> | 2011-01-12 14:31:28 -0500 |
commit | 18a83d92d10bb84eddec786c7327153983c97d57 (patch) | |
tree | 6af497d217922f9f7e51aab21769b4713bb42ad7 /nova/wsgi.py | |
parent | f45133f00d3d0a3d52cb9070627063b93af19e78 (diff) | |
parent | 03c9f498e6b972e001ec67e6d57c309960b7f9f0 (diff) | |
download | nova-18a83d92d10bb84eddec786c7327153983c97d57.tar.gz nova-18a83d92d10bb84eddec786c7327153983c97d57.tar.xz nova-18a83d92d10bb84eddec786c7327153983c97d57.zip |
Merge trunk.
Diffstat (limited to 'nova/wsgi.py')
-rw-r--r-- | nova/wsgi.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/nova/wsgi.py b/nova/wsgi.py index aa8f315d6..ae936d4c0 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -22,7 +22,6 @@ Utility methods for working with WSGI servers """ import json -import logging import sys from xml.dom import minidom @@ -35,18 +34,30 @@ import webob import webob.dec import webob.exc +from nova import log as logging -logging.getLogger("routes.middleware").addHandler(logging.StreamHandler()) + +class WritableLogger(object): + """A thin wrapper that responds to `write` and logs.""" + + def __init__(self, logger, level=logging.DEBUG): + self.logger = logger + self.level = level + + def write(self, msg): + self.logger.log(self.level, msg) class Server(object): """Server class to manage multiple WSGI sockets and applications.""" def __init__(self, threads=1000): + logging.basicConfig() self.pool = eventlet.GreenPool(threads) def start(self, application, port, host='0.0.0.0', backlog=128): """Run a WSGI server with the given application.""" + logging.audit(_("Starting %s on %s:%s"), sys.argv[0], host, port) socket = eventlet.listen((host, port), backlog=backlog) self.pool.spawn_n(self._run, application, socket) @@ -59,7 +70,9 @@ class Server(object): def _run(self, application, socket): """Start a WSGI server in a new green thread.""" - eventlet.wsgi.server(socket, application, custom_pool=self.pool) + logger = logging.getLogger('eventlet.wsgi.server') + eventlet.wsgi.server(socket, application, custom_pool=self.pool, + log=WritableLogger(logger)) class Application(object): |