summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRick Harris <rconradharris@gmail.com>2011-08-11 20:27:59 +0000
committerRick Harris <rconradharris@gmail.com>2011-08-11 20:27:59 +0000
commite2edc1c64e5d736dcad510f4ae8f862bbac55570 (patch)
treeaa8f49ac99130abf274678fdab8ac8e06b6d1c9f
parent02fb917da8a42b38720ebe31c4d40b180b00d632 (diff)
downloadoslo-e2edc1c64e5d736dcad510f4ae8f862bbac55570.tar.gz
oslo-e2edc1c64e5d736dcad510f4ae8f862bbac55570.tar.xz
oslo-e2edc1c64e5d736dcad510f4ae8f862bbac55570.zip
Adding syslog support
-rw-r--r--etc/skeleton-api.conf3
-rw-r--r--openstack/common/config.py20
2 files changed, 16 insertions, 7 deletions
diff --git a/etc/skeleton-api.conf b/etc/skeleton-api.conf
index ae4c68e..2035721 100644
--- a/etc/skeleton-api.conf
+++ b/etc/skeleton-api.conf
@@ -15,6 +15,9 @@ bind_port = 80
# permissions to write to this file!
log_file = /var/log/skeleton/api.log
+# Send logs to syslog (/dev/log) instead of to file specified by `log_file`
+use_syslog = False
+
[pipeline:skeleton-api]
pipeline = versionnegotiation context apiv1app
diff --git a/openstack/common/config.py b/openstack/common/config.py
index c9280f0..758d128 100644
--- a/openstack/common/config.py
+++ b/openstack/common/config.py
@@ -110,6 +110,9 @@ def add_log_options(parser):
group.add_option("--log-dir", default=None,
help="(Optional) The directory to keep log files in "
"(will be prepended to --logfile)")
+ group.add_option('--use-syslog', default=False, dest="use_syslog",
+ action="store_true",
+ help="Use syslog for logging.")
parser.add_option_group(group)
@@ -156,20 +159,23 @@ def setup_logging(options, conf):
if not logfile:
logfile = conf.get('log_file')
- if logfile:
+ use_syslog = options.get('use_syslog') or \
+ get_option(conf, 'use_syslog', type='bool', default=False)
+
+ if use_syslog:
+ handler = logging.handlers.SysLogHandler(address='/dev/log')
+ elif logfile:
logdir = options.get('log_dir')
if not logdir:
logdir = conf.get('log_dir')
if logdir:
logfile = os.path.join(logdir, logfile)
- logfile = logging.FileHandler(logfile)
- logfile.setFormatter(formatter)
- logfile.setFormatter(formatter)
- root_logger.addHandler(logfile)
+ handler = logging.FileHandler(logfile)
else:
handler = logging.StreamHandler(sys.stdout)
- handler.setFormatter(formatter)
- root_logger.addHandler(handler)
+
+ handler.setFormatter(formatter)
+ root_logger.addHandler(handler)
def find_config_file(app_name, options, args):