diff options
author | MORITA Kazutaka <morita.kazutaka@gmail.com> | 2011-01-13 21:02:14 +0900 |
---|---|---|
committer | MORITA Kazutaka <morita.kazutaka@gmail.com> | 2011-01-13 21:02:14 +0900 |
commit | 40e13153d3a8ceef80fa40a59145672df796baa8 (patch) | |
tree | 9887fa6698a0cbae2da6211921df62308fbb1f79 /nova/wsgi.py | |
parent | 1c694e9093c627bd50b35e9fb0ae11adf315a154 (diff) | |
parent | 621cf8e156582b3ff4dd44409324cc3a5f9aecf4 (diff) | |
download | nova-40e13153d3a8ceef80fa40a59145672df796baa8.tar.gz nova-40e13153d3a8ceef80fa40a59145672df796baa8.tar.xz nova-40e13153d3a8ceef80fa40a59145672df796baa8.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): |