diff options
author | Andy Smith <code@term.ie> | 2011-01-07 16:03:53 -0800 |
---|---|---|
committer | Andy Smith <code@term.ie> | 2011-01-07 16:03:53 -0800 |
commit | 89ac4c78aa8796a1910b1b710043cc7eabb6c68d (patch) | |
tree | 104840c18ab60d80f149da1c5a569eb277506ba5 /nova/wsgi.py | |
parent | b8fc639af336630c56ce3807639a5e26c0d07982 (diff) | |
parent | 0ed247f360f77f0a4a469a8d3b155ac5fcfa509c (diff) | |
download | nova-89ac4c78aa8796a1910b1b710043cc7eabb6c68d.tar.gz nova-89ac4c78aa8796a1910b1b710043cc7eabb6c68d.tar.xz nova-89ac4c78aa8796a1910b1b710043cc7eabb6c68d.zip |
merged from upstream and made applicable changes
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 e940b3f8c..a147bda7f 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -21,7 +21,6 @@ Utility methods for working with WSGI servers """ -import logging import sys from xml.dom import minidom @@ -34,19 +33,31 @@ import webob import webob.dec import webob.exc +from nova import log as logging from nova import utils -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): |