diff options
author | Cerberus <matt.dietz@rackspace.com> | 2011-02-16 13:49:54 -0600 |
---|---|---|
committer | Cerberus <matt.dietz@rackspace.com> | 2011-02-16 13:49:54 -0600 |
commit | d6c8fbe761a0c0558bb9c9635d7fdab8a99e3933 (patch) | |
tree | fd030094eb5a120c94a95befab07befc69dc6dbc /nova/log.py | |
parent | 879845496a50477ebc2709291c159ae1e8d5aa2a (diff) | |
parent | 61963f00ad70e73a06ffb35f3fd4b08696e39502 (diff) | |
download | nova-d6c8fbe761a0c0558bb9c9635d7fdab8a99e3933.tar.gz nova-d6c8fbe761a0c0558bb9c9635d7fdab8a99e3933.tar.xz nova-d6c8fbe761a0c0558bb9c9635d7fdab8a99e3933.zip |
Merge from trunk
Diffstat (limited to 'nova/log.py')
-rw-r--r-- | nova/log.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/nova/log.py b/nova/log.py index b541488bd..90c40cca7 100644 --- a/nova/log.py +++ b/nova/log.py @@ -28,9 +28,11 @@ It also allows setting of formatting information through flags. import cStringIO +import inspect import json import logging import logging.handlers +import os import sys import traceback @@ -111,6 +113,18 @@ def _dictify_context(context): return context +def _get_binary_name(): + return os.path.basename(inspect.stack()[-1][1]) + + +def get_log_file_path(binary=None): + if FLAGS.logfile: + return FLAGS.logfile + if FLAGS.logdir: + binary = binary or _get_binary_name() + return '%s.log' % (os.path.join(FLAGS.logdir, binary),) + + def basicConfig(): logging.basicConfig() for handler in logging.root.handlers: @@ -123,8 +137,9 @@ def basicConfig(): syslog = SysLogHandler(address='/dev/log') syslog.setFormatter(_formatter) logging.root.addHandler(syslog) - if FLAGS.logfile: - logfile = FileHandler(FLAGS.logfile) + logpath = get_log_file_path() + if logpath: + logfile = FileHandler(logpath) logfile.setFormatter(_formatter) logging.root.addHandler(logfile) |