summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDolph Mathews <dolph.mathews@rackspace.com>2011-07-18 12:37:18 -0500
committerDolph Mathews <dolph.mathews@rackspace.com>2011-07-18 12:37:18 -0500
commit15d719e82c7ca96428caa25fc29bdf41a3e9e150 (patch)
tree981d16f50265a9e44b1785e043b29f28ae7d390c
parentb2839ad32f3ce7ac935ea1edac59bcb2bdc0b6ed (diff)
downloadkeystone-15d719e82c7ca96428caa25fc29bdf41a3e9e150.tar.gz
keystone-15d719e82c7ca96428caa25fc29bdf41a3e9e150.tar.xz
keystone-15d719e82c7ca96428caa25fc29bdf41a3e9e150.zip
Merged duplicate code
-rwxr-xr-xkeystone/common/config.py33
-rwxr-xr-xkeystone/common/wsgi.py23
2 files changed, 14 insertions, 42 deletions
diff --git a/keystone/common/config.py b/keystone/common/config.py
index afe3668e..9de65389 100755
--- a/keystone/common/config.py
+++ b/keystone/common/config.py
@@ -26,6 +26,7 @@ import os
from paste import deploy
import sys
import ConfigParser
+from keystone.common.wsgi import add_console_handler
DEFAULT_LOG_FORMAT = "%(asctime)s %(levelname)8s [%(name)s] %(message)s"
DEFAULT_LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
@@ -125,34 +126,6 @@ def add_log_options(parser):
parser.add_option_group(group)
return group
-
-def add_console_handler(logger, level=logging.INFO):
- """
- Add a Handler which writes log messages to sys.stderr
- (which is often the console)
- There is a copy of this function in wsgi.py (TODO(Ziad): Make it one copy)
- """
- console = None
- for console in logger.handlers:
- if isinstance(console, logging.StreamHandler):
- break
-
- if not console:
- console = logging.StreamHandler()
- console.setLevel(level)
- # set a format which is simpler for console use
- formatter = logging.Formatter("%(name)-12s: "\
- "%(levelname)-8s %(message)s")
- # tell the handler to use this format
- console.setFormatter(formatter)
- # add the handler to the root logger
- logger.addHandler(console)
- else:
- if console.level != level:
- console.setLevel(level)
- return console
-
-
def setup_logging(options, conf):
"""
Sets up the logging options for a log with supplied name
@@ -205,9 +178,7 @@ def setup_logging(options, conf):
logfile.setFormatter(formatter)
root_logger.addHandler(logfile)
# Mirror to console if verbose or debug
- if debug:
- add_console_handler(root_logger, logging.INFO) #debug too noisy
- elif verbose:
+ if debug or verbose:
add_console_handler(root_logger, logging.INFO)
else:
handler = logging.StreamHandler(sys.stdout)
diff --git a/keystone/common/wsgi.py b/keystone/common/wsgi.py
index cf5fbf72..3eafe296 100755
--- a/keystone/common/wsgi.py
+++ b/keystone/common/wsgi.py
@@ -32,22 +32,24 @@ import routes.middleware
import webob.dec
import webob.exc
-def add_console_handler(logger, level):
+def find_stream_handler(logger):
+ """Returns a stream handler, if any"""
+ for handler in logger.handlers:
+ if isinstance(handler, logging.StreamHandler):
+ return handler
+
+def add_console_handler(logger, level=logging.INFO):
"""
- Add a Handler which writes messages to sys.stderr which is often the
- console.
- There is a copy of this function in config.py (TODO(Ziad): Make it one copy)
+ Add a Handler which writes log messages to sys.stderr (usually the console)
"""
- console = None
- for console in logger.handlers:
- if isinstance(console, logging.StreamHandler):
- break
-
+ console = find_stream_handler(logger)
+
if not console:
console = logging.StreamHandler()
console.setLevel(level)
# set a format which is simpler for console use
- formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
+ formatter = logging.Formatter(
+ "%(name)-12s: %(levelname)-8s %(message)s")
# tell the handler to use this format
console.setFormatter(formatter)
# add the handler to the root logger
@@ -56,7 +58,6 @@ def add_console_handler(logger, level):
console.setLevel(level)
return console
-
class WritableLogger(object):
"""A thin wrapper that responds to `write` and logs."""