From ada65e007e4511f63efcbfa94e51d2d41af1d315 Mon Sep 17 00:00:00 2001 From: Todd Willey Date: Wed, 5 Jan 2011 01:54:31 -0500 Subject: [PATCH] Better method for eventlet.wsgi.server logging. --- nova/log.py | 2 +- nova/wsgi.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/nova/log.py b/nova/log.py index 88a961e13c..97472b20bd 100644 --- a/nova/log.py +++ b/nova/log.py @@ -67,7 +67,7 @@ flags.DEFINE_string('logging_exception_prefix', flags.DEFINE_list('default_log_levels', ['amqplib=WARN', 'sqlalchemy=WARN', - 'audit=INFO'], + 'eventlet.wsgi.server=WARN'], 'list of logger=LEVEL pairs') flags.DEFINE_bool('use_syslog', False, 'output to syslog') diff --git a/nova/wsgi.py b/nova/wsgi.py index f85503149d..b48747be41 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -37,9 +37,15 @@ import webob.exc from nova import log as logging -class NullWsgiLogger(object): - def write(*args): - pass +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): @@ -64,8 +70,9 @@ class Server(object): def _run(self, application, socket): """Start a WSGI server in a new green thread.""" + logger = logging.getLogger('eventlet.wsgi.server') eventlet.wsgi.server(socket, application, custom_pool=self.pool, - log=NullWsgiLogger()) + log=WritableLogger(logger)) class Application(object):