diff options
author | Akihiro Motoki <amotoki@gmail.com> | 2019-09-25 21:29:05 +0900 |
---|---|---|
committer | Akihiro Motoki <amotoki@gmail.com> | 2019-09-26 14:31:17 +0900 |
commit | ec970fd6e85b19126409ef39aefa013bac701503 (patch) | |
tree | 3480171d9027a31807e3f3478e3104c37b7a66a7 /horizon/middleware/operation_log.py | |
parent | b3aebb92544054b4b39a2296460edfe593916b74 (diff) | |
download | horizon-ec970fd6e85b19126409ef39aefa013bac701503.tar.gz |
Handle partial dict setting
In Train cycle, we moved the definition of default values
to openstack_dashboard/defaults.py. The current code accesses
a dict member using []. It requires operators to define a dict
setting with a full member.
This commit allows to use dict-type settings with partial members.
A new function is introduced to retrieve a dict-type setting
considering default values defined in
{openstack_dashboard,horizon,openstack_auth}/defaults.py
Change-Id: I7ff0ad4bca698aef9c0eba370b0570200a14367a
Closes-Bug: #1843104
Diffstat (limited to 'horizon/middleware/operation_log.py')
-rw-r--r-- | horizon/middleware/operation_log.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/horizon/middleware/operation_log.py b/horizon/middleware/operation_log.py index 3fe6c8ede..6aa4455e9 100644 --- a/horizon/middleware/operation_log.py +++ b/horizon/middleware/operation_log.py @@ -22,6 +22,8 @@ from django.core.exceptions import MiddlewareNotUsed import six.moves.urllib.parse as urlparse +from horizon.utils import settings as setting_utils + LOG = logging.getLogger(__name__) @@ -44,7 +46,7 @@ class OperationLogMiddleware(object): - ``http status`` - ``request parameters`` - and log format is defined OPERATION_LOG_OPTIONS. + and log format is defined in OPERATION_LOG_OPTIONS. """ @property @@ -59,15 +61,18 @@ class OperationLogMiddleware(object): self.get_response = get_response # set configurations - _log_option = settings.OPERATION_LOG_OPTIONS _available_methods = ['POST', 'GET', 'PUT', 'DELETE'] - _methods = _log_option["target_methods"] + _methods = setting_utils.get_dict_config( + 'OPERATION_LOG_OPTIONS', 'target_methods') self.target_methods = [x for x in _methods if x in _available_methods] - self.mask_fields = _log_option["mask_fields"] - self.format = _log_option["format"] + self.mask_fields = setting_utils.get_dict_config( + 'OPERATION_LOG_OPTIONS', 'mask_fields') + self.format = setting_utils.get_dict_config( + 'OPERATION_LOG_OPTIONS', 'format') self._logger = logging.getLogger('horizon.operation_log') - self._ignored_urls = [re.compile(url) - for url in _log_option["ignore_urls"]] + self._ignored_urls = [re.compile(url) for url + in setting_utils.get_dict_config( + 'OPERATION_LOG_OPTIONS', 'ignore_urls')] def __call__(self, request): response = self.get_response(request) |