diff options
author | Anthony Young <sleepsonthefloor@gmail.com> | 2011-01-10 13:06:36 -0800 |
---|---|---|
committer | Anthony Young <sleepsonthefloor@gmail.com> | 2011-01-10 13:06:36 -0800 |
commit | 220259d6ca9131c738a2d4ea9cd28ca64edbcfeb (patch) | |
tree | 27266ddb476586ed2bb87bd53d4fef9c974da8a8 /nova/wsgi.py | |
parent | 9b99e385967c4ba21d94d82aa62115fc11634118 (diff) | |
parent | 16c420ee156f8c7716c7e84b66af35cbccf5090c (diff) | |
download | nova-220259d6ca9131c738a2d4ea9cd28ca64edbcfeb.tar.gz nova-220259d6ca9131c738a2d4ea9cd28ca64edbcfeb.tar.xz nova-220259d6ca9131c738a2d4ea9cd28ca64edbcfeb.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 b5d6b96c1..e999f76a3 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): |