log more than ceilometer

The default logging configuration does not include output
from packages other than 'ceilometer'. Since we depend
on nova services, we want to have those messages logged,
too.

Change-Id: I4f67b61d3990a0667ee91e32c77ab909f600d451
This commit is contained in:
Doug Hellmann 2012-06-11 11:32:42 -04:00
parent c9aae1118f
commit 8101f52ed7
1 changed files with 31 additions and 20 deletions

View File

@ -66,6 +66,32 @@ def getLogger(name='ceilometer'):
return logging.getLogger(name)
def _setup_default_logger(logger_name):
"""Configure a single logger."""
root = getLogger(logger_name)
for handler in root.handlers:
root.removeHandler(handler)
logpath = _get_log_file_path()
if logpath:
filelog = logging.handlers.WatchedFileHandler(logpath)
filelog.setFormatter(
logging.Formatter(cfg.CONF.logging_default_format_string))
root.addHandler(filelog)
mode = int(FLAGS.logfile_mode, 8)
st = os.stat(logpath)
if st.st_mode != (stat.S_IFREG | mode):
os.chmod(logpath, mode)
else:
streamlog = logging.StreamHandler(sys.stdout)
streamlog.setFormatter(
logging.Formatter(cfg.CONF.logging_default_format_string))
root.addHandler(streamlog)
if cfg.CONF.log_level:
root.setLevel(logging.getLevelName(cfg.CONF.log_level.upper()))
def setup():
if cfg.CONF.log_config:
try:
@ -74,25 +100,10 @@ def setup():
traceback.print_exc()
raise
else:
root = getLogger()
# Strip any existing log handlers to avoid seeing duplicate
# messages on the console.
root = getLogger(None)
for handler in root.handlers:
root.removeHandler(handler)
logpath = _get_log_file_path()
if logpath:
filelog = logging.handlers.WatchedFileHandler(logpath)
filelog.setFormatter(
logging.Formatter(cfg.CONF.logging_default_format_string))
root.addHandler(filelog)
mode = int(FLAGS.logfile_mode, 8)
st = os.stat(logpath)
if st.st_mode != (stat.S_IFREG | mode):
os.chmod(logpath, mode)
else:
streamlog = logging.StreamHandler(sys.stdout)
streamlog.setFormatter(
logging.Formatter(cfg.CONF.logging_default_format_string))
root.addHandler(streamlog)
if cfg.CONF.log_level:
root.setLevel(logging.getLevelName(cfg.CONF.log_level.upper()))
_setup_default_logger('ceilometer')
_setup_default_logger('nova')