move exception hook into appropriate location and remove extra stuff from module namespace

This commit is contained in:
Vishvananda Ishaya
2011-02-21 01:26:15 -08:00
parent f9cf3503fc
commit 4307e23981
2 changed files with 23 additions and 23 deletions

View File

@@ -85,7 +85,6 @@ from nova.auth import manager
from nova.cloudpipe import pipelib
from nova.db import migration
FLAGS = flags.FLAGS
flags.DECLARE('fixed_range', 'nova.network.manager')
flags.DECLARE('num_networks', 'nova.network.manager')

View File

@@ -130,9 +130,6 @@ def basicConfig():
logging.basicConfig = basicConfig
_syslog = SysLogHandler(address='/dev/log')
_filelog = None
_streamlog = StreamHandler()
class NovaLogger(logging.Logger):
@@ -193,16 +190,6 @@ class NovaLogger(logging.Logger):
self.error(message, **kwargs)
def handle_exception(type, value, tb):
if len(logging.root.handlers) == 0:
logging.root.addHandler(_streamlog)
logging.root.critical(str(value), exc_info=(type, value, tb))
sys.excepthook = handle_exception
logging.setLoggerClass(NovaLogger)
class NovaFormatter(logging.Formatter):
"""
A nova.context.RequestContext aware formatter configured through flags.
@@ -251,25 +238,30 @@ _formatter = NovaFormatter()
class NovaRootLogger(NovaLogger):
def __init__(self, name, level=NOTSET):
self.logpath = None
self.filelog = None
self.syslog = SysLogHandler(address='/dev/log')
self.streamlog = StreamHandler()
NovaLogger.__init__(self, name, level)
self.addHandler(_streamlog)
def setup_from_flags(self):
"""Setup logger from flags"""
global _filelog
if FLAGS.use_syslog:
self.addHandler(_syslog)
self.addHandler(self.syslog)
else:
self.removeHandler(_syslog)
self.removeHandler(self.syslog)
logpath = _get_log_file_path()
if logpath:
if not _filelog:
_filelog = WatchedFileHandler(logpath)
self.addHandler(_filelog)
self.removeHandler(_streamlog)
self.removeHandler(self.streamlog)
if logpath != self.logpath:
self.removeHandler(self.filelog)
self.filelog = WatchedFileHandler(logpath)
self.addHandler(self.filelog)
self.logpath = logpath
else:
self.removeHandler(_filelog)
self.addHandler(_streamlog)
self.removeHandler(self.filelog)
self.addHandler(self.streamlog)
if FLAGS.verbose:
self.setLevel(DEBUG)
else:
@@ -284,6 +276,15 @@ if not isinstance(logging.root, NovaRootLogger):
NovaLogger.manager.root = logging.root
root = logging.root
def handle_exception(type, value, tb):
root.critical(str(value), exc_info=(type, value, tb))
sys.excepthook = handle_exception
logging.setLoggerClass(NovaLogger)
def reset():
"""Resets logging handlers. Should be called if FLAGS changes."""
for logger in logging.Logger.manager.loggerDict.itervalues():