diff options
author | Dan Mick <dan.mick@inktank.com> | 2013-08-22 17:30:24 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-08-30 07:56:29 -0700 |
commit | 83cfd4386c1fd0fa41aea345704e27f82b524ece (patch) | |
tree | 331c5119808c5be9007431f2b54e430d4465d0fa | |
parent | 8a1da62d9564a32f7b8963fe298e1ac3ad0ea3d9 (diff) | |
download | ceph-83cfd4386c1fd0fa41aea345704e27f82b524ece.tar.gz |
ceph_rest_api.py: create own default for log_file
common/config thinks the default log_file for non-daemons should be "".
Override that so that the default is
/var/log/ceph/{cluster}-{name}.{pid}.log
since ceph-rest-api is more of a daemon than a client.
Fixes: #6099
Backport: dumpling
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 2031f391c3df68e0d9e381a1ef3fe58d8939f0a8)
-rwxr-xr-x | src/pybind/ceph_rest_api.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/pybind/ceph_rest_api.py b/src/pybind/ceph_rest_api.py index 421cc59edcc..c53c3d77737 100755 --- a/src/pybind/ceph_rest_api.py +++ b/src/pybind/ceph_rest_api.py @@ -5,6 +5,7 @@ import errno import json import logging import logging.handlers +import os import rados import textwrap import xml.etree.ElementTree @@ -26,6 +27,7 @@ DEFAULT_ID = 'restapi' DEFAULT_BASEURL = '/api/v0.1' DEFAULT_LOG_LEVEL = 'warning' +DEFAULT_LOGDIR = '/var/log/ceph' # default client name will be 'client.<DEFAULT_ID>' # 'app' must be global for decorators, etc. @@ -117,7 +119,18 @@ def api_setup(app, conf, cluster, clientname, clientid, args): loglevel = app.ceph_cluster.conf_get('restapi_log_level') \ or DEFAULT_LOG_LEVEL + # ceph has a default log file for daemons only; clients (like this) + # default to "". Override that for this particular client. logfile = app.ceph_cluster.conf_get('log_file') + if not logfile: + logfile = os.path.join( + DEFAULT_LOGDIR, + '{cluster}-{clientname}.{pid}.log'.format( + cluster=cluster, + clientname=clientname, + pid=os.getpid() + ) + ) app.logger.addHandler(logging.handlers.WatchedFileHandler(logfile)) app.logger.setLevel(LOGLEVELS[loglevel.lower()]) for h in app.logger.handlers: |