diff options
author | Bin Yang <bin.yang@windriver.com> | 2021-08-19 13:11:03 +0800 |
---|---|---|
committer | Bin Yang <bin.yang@windriver.com> | 2021-08-19 16:19:25 +0800 |
commit | f96919ba694a1086f989074e1f5972ea5621eaf8 (patch) | |
tree | 4f4fda08538d709ea46fa28b29ad111a805dfee6 | |
parent | d389053df48d5fb142ab2264d4157fb32a8afab2 (diff) |
Remove dependency to onaplog package
due to it is not supported python3.8
Issue-ID: MULTICLOUD-1382
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Change-Id: I616edd885070724aa4daea3a3220547e2108531e
-rw-r--r-- | fcaps/fcaps/middleware.py | 64 | ||||
-rw-r--r-- | fcaps/fcaps/pub/config/log.yml | 9 | ||||
-rw-r--r-- | fcaps/fcaps/settings.py | 53 | ||||
-rw-r--r-- | fcaps/requirements.txt | 3 | ||||
-rw-r--r-- | pike/pike/middleware.py | 76 | ||||
-rw-r--r-- | pike/pike/pub/config/log.yml | 10 | ||||
-rw-r--r-- | pike/pike/settings.py | 54 | ||||
-rw-r--r-- | pike/requirements.txt | 4 | ||||
-rw-r--r-- | starlingx/requirements.txt | 3 | ||||
-rw-r--r-- | starlingx/starlingx/middleware.py | 64 | ||||
-rw-r--r-- | starlingx/starlingx/pub/config/log.yml | 13 | ||||
-rw-r--r-- | starlingx/starlingx/settings.py | 52 | ||||
-rw-r--r-- | windriver/requirements.txt | 3 | ||||
-rw-r--r-- | windriver/titanium_cloud/middleware.py | 64 | ||||
-rw-r--r-- | windriver/titanium_cloud/pub/config/log.yml | 9 | ||||
-rw-r--r-- | windriver/titanium_cloud/settings.py | 55 |
16 files changed, 188 insertions, 348 deletions
diff --git a/fcaps/fcaps/middleware.py b/fcaps/fcaps/middleware.py deleted file mode 100644 index e6804f08..00000000 --- a/fcaps/fcaps/middleware.py +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (c) 2017-2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import uuid -from django.conf import settings -from onaplogging.mdcContext import MDC - -FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST", - "HTTP_X_FORWARDED_SERVER"] - - -class LogContextMiddleware(object): - - # the last IP behind multiple proxies, if no exist proxies - # get local host ip. - def _getLastIp(self, request): - - ip = "" - try: - for field in FORWARDED_FOR_FIELDS: - if field in request.META: - if ',' in request.META[field]: - parts = request.META[field].split(',') - ip = parts[-1].strip().split(":")[0] - else: - ip = request.META[field].split(":")[0] - - if ip == "": - ip = request.META.get("HTTP_HOST").split(":")[0] - - except Exception: - pass - - return ip - - def process_request(self, request): - # fetch propageted Id from other component. if do not fetch id, - # generate one. - ReqeustID = request.META.get("HTTP_X_TRANSACTIONID", None) - if ReqeustID is None: - ReqeustID = str(uuid.uuid3(uuid.NAMESPACE_URL, settings.MULTIVIM_VERSION)) - MDC.put("requestID", ReqeustID) - # generate the reqeust id - InvocationID = str(uuid.uuid4()) - MDC.put("invocationID", InvocationID) - MDC.put("serviceName", settings.MULTIVIM_VERSION) - MDC.put("serviceIP", self._getLastIp(request)) - return None - - def process_response(self, request, response): - - MDC.clear() - return response diff --git a/fcaps/fcaps/pub/config/log.yml b/fcaps/fcaps/pub/config/log.yml index ad27b50f..71ebe2bc 100644 --- a/fcaps/fcaps/pub/config/log.yml +++ b/fcaps/fcaps/pub/config/log.yml @@ -23,16 +23,9 @@ handlers: level: "DEBUG" class: "logging.handlers.RotatingFileHandler" filename: "/var/log/onap/multicloud/openstack/fcaps/fcaps.log" - formatter: "mdcFormat" + formatter: "standard" maxBytes: 52428800 backupCount: 10 formatters: standard: format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s" - mdcFormat: - format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t" - mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}" - datefmt: "%Y-%m-%d %H:%M:%S" - (): onaplogging.mdcformatter.MDCFormatter - - diff --git a/fcaps/fcaps/settings.py b/fcaps/fcaps/settings.py index 979c1519..37021e05 100644 --- a/fcaps/fcaps/settings.py +++ b/fcaps/fcaps/settings.py @@ -14,10 +14,9 @@ import os import sys - -from logging import config -from onaplogging import monkey -monkey.patch_all() +import platform +import yaml +from logging import config as log_config CACHE_EXPIRATION_TIME = 3600 @@ -56,7 +55,6 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'fcaps.middleware.LogContextMiddleware', ] ROOT_URLCONF = 'fcaps.urls' @@ -124,10 +122,47 @@ OPENSTACK_VERSION = "fcaps" MULTIVIM_VERSION = "multicloud-" + OPENSTACK_VERSION -LOGGING_CONFIG = None -# yaml configuration of logging -LOGGING_FILE = os.path.join(BASE_DIR, 'fcaps/pub/config/log.yml') -config.yamlConfig(filepath=LOGGING_FILE, watchDog=True) +if platform.system() == 'Windows' or 'test' in sys.argv: + LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + 'formatters': { + 'standard': { + 'format': '%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s', + }, + }, + 'filters': { + }, + 'handlers': { + 'file_handler': { + 'level': 'DEBUG', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': os.path.join(BASE_DIR, 'logs/test.log'), + 'formatter': 'standard', + 'maxBytes': 1024 * 1024 * 50, + 'backupCount': 5, + }, + }, + + 'loggers': { + 'common': { + 'handlers': ['file_handler'], + 'level': 'DEBUG', + 'propagate': False + }, + } + } +else: + log_path = "/var/log/onap/multicloud/openstack/fcaps" + if not os.path.exists(log_path): + os.makedirs(log_path) + + LOGGING_CONFIG = None + # yaml configuration of logging + LOGGING_FILE = os.path.join(BASE_DIR, 'fcaps/pub/config/log.yml') + with open(file=LOGGING_FILE, mode='r', encoding="utf-8")as file: + logging_yaml = yaml.load(stream=file, Loader=yaml.FullLoader) + log_config.dictConfig(config=logging_yaml) if 'test' in sys.argv: diff --git a/fcaps/requirements.txt b/fcaps/requirements.txt index 98db366b..9db93b23 100644 --- a/fcaps/requirements.txt +++ b/fcaps/requirements.txt @@ -19,8 +19,7 @@ python-memcached # mock==2.0.0 # unittest_xml_reporting==1.12.0 -# for onap logging -onappylog>=1.0.9 +PyYAML==5.3.1 # for background tasks celery >= 4.0 diff --git a/pike/pike/middleware.py b/pike/pike/middleware.py deleted file mode 100644 index 0697b81d..00000000 --- a/pike/pike/middleware.py +++ /dev/null @@ -1,76 +0,0 @@ -''' -This is middle module -''' -# Copyright (c) 2017-2018 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import uuid -from django.conf import settings -from onaplogging.mdcContext import MDC - -FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST", - "HTTP_X_FORWARDED_SERVER"] - - -class LogContextMiddleware: - ''' - log context middleware - ''' - - def _get_last_ip(self, request): - ''' - the last IP behind multiple proxies, if no exist proxies - get local host ip. - ''' - local_ip = "" - try: - for field in FORWARDED_FOR_FIELDS: - if field in request.META: - if ',' in request.META[field]: - parts = request.META[field].split(',') - local_ip = parts[-1].strip().split(":")[0] - else: - local_ip = request.META[field].split(":")[0] - - if local_ip == "": - local_ip = request.META.get("HTTP_HOST").split(":")[0] - - except Exception: - pass - - return local_ip - - def process_request(self, request): - ''' - process request - ''' - # fetch propageted Id from other component. if do not fetch id, - # generate one. - reqeust_id = request.META.get("HTTP_X_TRANSACTIONID", None) - if reqeust_id is None: - reqeust_id = str(uuid.uuid3(uuid.NAMESPACE_URL, settings.MULTIVIM_VERSION)) - MDC.put("requestID", reqeust_id) - # generate the reqeust id - invocation_id = str(uuid.uuid4()) - MDC.put("invocationID", invocation_id) - MDC.put("serviceName", settings.MULTIVIM_VERSION) - MDC.put("serviceIP", self._get_last_ip(request)) - return None - - def process_response(self, response): - ''' - process response - ''' - MDC.clear() - return response diff --git a/pike/pike/pub/config/log.yml b/pike/pike/pub/config/log.yml index bb7b3a3d..22b96923 100644 --- a/pike/pike/pub/config/log.yml +++ b/pike/pike/pub/config/log.yml @@ -36,20 +36,14 @@ handlers: console_handler: level: "DEBUG" class: "logging.StreamHandler" - formatter: "mdcFormat" + formatter: "standard" file_handler: level: "DEBUG" class: "logging.handlers.RotatingFileHandler" filename: "/var/log/onap/multicloud/openstack/pike/pike.log" - formatter: "mdcFormat" + formatter: "standard" maxBytes: 52428800 backupCount: 10 formatters: standard: format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s" - mdcFormat: - format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t" - mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}" - datefmt: "%Y-%m-%d %H:%M:%S" - (): onaplogging.mdcformatter.MDCFormatter - diff --git a/pike/pike/settings.py b/pike/pike/settings.py index d946383b..83c7415f 100644 --- a/pike/pike/settings.py +++ b/pike/pike/settings.py @@ -14,10 +14,9 @@ import os import sys - -from logging import config -from onaplogging import monkey -monkey.patch_all() +import yaml +import platform +from logging import config as log_config CACHE_EXPIRATION_TIME = 3600 @@ -55,7 +54,6 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'pike.middleware.LogContextMiddleware', ] ROOT_URLCONF = 'pike.urls' @@ -124,10 +122,48 @@ ROOT_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__fi OPENSTACK_VERSION = "pike" MULTIVIM_VERSION = "multicloud-" + OPENSTACK_VERSION -LOGGING_CONFIG = None -# yaml configuration of logging -LOGGING_FILE = os.path.join(BASE_DIR, 'pike/pub/config/log.yml') -config.yamlConfig(filepath=LOGGING_FILE, watchDog=True) + +if platform.system() == 'Windows' or 'test' in sys.argv: + LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + 'formatters': { + 'standard': { + 'format': '%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s', + }, + }, + 'filters': { + }, + 'handlers': { + 'file_handler': { + 'level': 'DEBUG', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': os.path.join(BASE_DIR, 'logs/test.log'), + 'formatter': 'standard', + 'maxBytes': 1024 * 1024 * 50, + 'backupCount': 5, + }, + }, + + 'loggers': { + 'common': { + 'handlers': ['file_handler'], + 'level': 'DEBUG', + 'propagate': False + }, + } + } +else: + log_path = "/var/log/onap/multicloud/openstack/pike" + if not os.path.exists(log_path): + os.makedirs(log_path) + + LOGGING_CONFIG = None + # yaml configuration of logging + LOGGING_FILE = os.path.join(BASE_DIR, 'pike/pub/config/log.yml') + with open(file=LOGGING_FILE, mode='r', encoding="utf-8")as file: + logging_yaml = yaml.load(stream=file, Loader=yaml.FullLoader) + log_config.dictConfig(config=logging_yaml) if 'test' in sys.argv: diff --git a/pike/requirements.txt b/pike/requirements.txt index f7a5470c..850a52e6 100644 --- a/pike/requirements.txt +++ b/pike/requirements.txt @@ -35,6 +35,6 @@ ruamel.yaml==0.16.10 # mock==2.0.0 # unittest_xml_reporting==1.12.0 -# for onap logging -onappylog>=1.0.9 +PyYAML==5.3.1 + onaphpadriver>=1.0 diff --git a/starlingx/requirements.txt b/starlingx/requirements.txt index e92acdad..3623b817 100644 --- a/starlingx/requirements.txt +++ b/starlingx/requirements.txt @@ -35,5 +35,4 @@ ruamel.yaml==0.16.10 # mock==2.0.0 # unittest_xml_reporting==1.12.0 -# for onap logging -onappylog>=1.0.9 +PyYAML==5.3.1
\ No newline at end of file diff --git a/starlingx/starlingx/middleware.py b/starlingx/starlingx/middleware.py deleted file mode 100644 index a2851d3d..00000000 --- a/starlingx/starlingx/middleware.py +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (c) 2019 Intel Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import uuid -from django.conf import settings -from onaplogging.mdcContext import MDC - -FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST", - "HTTP_X_FORWARDED_SERVER"] - - -class LogContextMiddleware(object): - - # the last IP behind multiple proxies, if no exist proxies - # get local host ip. - def _getLastIp(self, request): - - ip = "" - try: - for field in FORWARDED_FOR_FIELDS: - if field in request.META: - if ',' in request.META[field]: - parts = request.META[field].split(',') - ip = parts[-1].strip().split(":")[0] - else: - ip = request.META[field].split(":")[0] - - if ip == "": - ip = request.META.get("HTTP_HOST").split(":")[0] - - except Exception: - pass - - return ip - - def process_request(self, request): - # fetch propageted Id from other component. if do not fetch id, - # generate one. - ReqeustID = request.META.get("HTTP_X_TRANSACTIONID", None) - if ReqeustID is None: - ReqeustID = str(uuid.uuid3(uuid.NAMESPACE_URL, settings.MULTIVIM_VERSION)) - MDC.put("requestID", ReqeustID) - # generate the reqeust id - InvocationID = str(uuid.uuid4()) - MDC.put("invocationID", InvocationID) - MDC.put("serviceName", settings.MULTIVIM_VERSION) - MDC.put("serviceIP", self._getLastIp(request)) - return None - - def process_response(self, request, response): - - MDC.clear() - return response diff --git a/starlingx/starlingx/pub/config/log.yml b/starlingx/starlingx/pub/config/log.yml index 4e3e248b..ef68a653 100644 --- a/starlingx/starlingx/pub/config/log.yml +++ b/starlingx/starlingx/pub/config/log.yml @@ -36,20 +36,11 @@ handlers: console_handler: level: "DEBUG" class: "logging.StreamHandler" - formatter: "mdcFormat" + formatter: "standard" file_handler: level: "DEBUG" class: "logging.handlers.RotatingFileHandler" filename: "/var/log/onap/multicloud/openstack/starlingx/starlingx.log" - formatter: "mdcFormat" + formatter: "standard" maxBytes: 52428800 backupCount: 10 -formatters: - standard: - format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s" - mdcFormat: - format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t" - mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}" - datefmt: "%Y-%m-%d %H:%M:%S" - (): onaplogging.mdcformatter.MDCFormatter - diff --git a/starlingx/starlingx/settings.py b/starlingx/starlingx/settings.py index 56547ce2..d0eafd59 100644 --- a/starlingx/starlingx/settings.py +++ b/starlingx/starlingx/settings.py @@ -14,10 +14,10 @@ import os import sys +import platform +import yaml +from logging import config as log_config -from logging import config -from onaplogging import monkey -monkey.patch_all() CACHE_EXPIRATION_TIME = 3600 @@ -55,7 +55,6 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'starlingx.middleware.LogContextMiddleware', ] ROOT_URLCONF = 'starlingx.urls' @@ -124,10 +123,47 @@ ROOT_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__fi OPENSTACK_VERSION = "starlingx" MULTIVIM_VERSION = "multicloud-" + OPENSTACK_VERSION -LOGGING_CONFIG = None -# yaml configuration of logging -LOGGING_FILE = os.path.join(BASE_DIR, 'starlingx/pub/config/log.yml') -config.yamlConfig(filepath=LOGGING_FILE, watchDog=True) +if platform.system() == 'Windows' or 'test' in sys.argv: + LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + 'formatters': { + 'standard': { + 'format': '%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s', + }, + }, + 'filters': { + }, + 'handlers': { + 'file_handler': { + 'level': 'DEBUG', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': os.path.join(BASE_DIR, 'logs/test.log'), + 'formatter': 'standard', + 'maxBytes': 1024 * 1024 * 50, + 'backupCount': 5, + }, + }, + + 'loggers': { + 'common': { + 'handlers': ['file_handler'], + 'level': 'DEBUG', + 'propagate': False + }, + } + } +else: + log_path = "/var/log/onap/multicloud/openstack/starlingx" + if not os.path.exists(log_path): + os.makedirs(log_path) + + LOGGING_CONFIG = None + # yaml configuration of logging + LOGGING_FILE = os.path.join(BASE_DIR, 'starlingx/pub/config/log.yml') + with open(file=LOGGING_FILE, mode='r', encoding="utf-8")as file: + logging_yaml = yaml.load(stream=file, Loader=yaml.FullLoader) + log_config.dictConfig(config=logging_yaml) if 'test' in sys.argv: diff --git a/windriver/requirements.txt b/windriver/requirements.txt index 19e9b1eb..72bcb961 100644 --- a/windriver/requirements.txt +++ b/windriver/requirements.txt @@ -21,8 +21,7 @@ ruamel.yaml==0.16.10 # mock==2.0.0 # unittest_xml_reporting==1.12.0 -# for onap logging -onappylog>=1.0.9 +PyYAML==5.3.1 # for background tasks # celery >= 4.0 diff --git a/windriver/titanium_cloud/middleware.py b/windriver/titanium_cloud/middleware.py deleted file mode 100644 index 4f19da08..00000000 --- a/windriver/titanium_cloud/middleware.py +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (c) 2017-2018 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import uuid -from django.conf import settings -from onaplogging.mdcContext import MDC - -FORWARDED_FOR_FIELDS = ["HTTP_X_FORWARDED_FOR", "HTTP_X_FORWARDED_HOST", - "HTTP_X_FORWARDED_SERVER"] - - -class LogContextMiddleware(object): - - # the last IP behind multiple proxies, if no exist proxies - # get local host ip. - def _getLastIp(self, request): - - ip = "" - try: - for field in FORWARDED_FOR_FIELDS: - if field in request.META: - if ',' in request.META[field]: - parts = request.META[field].split(',') - ip = parts[-1].strip().split(":")[0] - else: - ip = request.META[field].split(":")[0] - - if ip == "": - ip = request.META.get("HTTP_HOST").split(":")[0] - - except Exception: - pass - - return ip - - def process_request(self, request): - # fetch propageted Id from other component. if do not fetch id, - # generate one. - ReqeustID = request.META.get("HTTP_X_TRANSACTIONID", None) - if ReqeustID is None: - ReqeustID = str(uuid.uuid3(uuid.NAMESPACE_URL, settings.MULTIVIM_VERSION)) - MDC.put("requestID", ReqeustID) - # generate the reqeust id - InvocationID = str(uuid.uuid4()) - MDC.put("invocationID", InvocationID) - MDC.put("serviceName", settings.MULTIVIM_VERSION) - MDC.put("serviceIP", self._getLastIp(request)) - return None - - def process_response(self, request, response): - - MDC.clear() - return response diff --git a/windriver/titanium_cloud/pub/config/log.yml b/windriver/titanium_cloud/pub/config/log.yml index ca3a5497..280980d0 100644 --- a/windriver/titanium_cloud/pub/config/log.yml +++ b/windriver/titanium_cloud/pub/config/log.yml @@ -23,16 +23,9 @@ handlers: level: "DEBUG" class: "logging.handlers.RotatingFileHandler" filename: "/var/log/onap/multicloud/openstack/windriver/titanium_cloud.log" - formatter: "mdcFormat" + formatter: "standard" maxBytes: 52428800 backupCount: 10 formatters: standard: format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s" - mdcFormat: - format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t" - mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}" - datefmt: "%Y-%m-%d %H:%M:%S" - (): onaplogging.mdcformatter.MDCFormatter - - diff --git a/windriver/titanium_cloud/settings.py b/windriver/titanium_cloud/settings.py index a4d7f631..eee2f1d6 100644 --- a/windriver/titanium_cloud/settings.py +++ b/windriver/titanium_cloud/settings.py @@ -14,11 +14,9 @@ import os import sys - -from logging import config -from onaplogging import monkey -monkey.patch_all() - +import platform +import yaml +from logging import config as log_config CACHE_EXPIRATION_TIME = 3600 @@ -56,7 +54,6 @@ MIDDLEWARE_CLASSES = [ 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - 'titanium_cloud.middleware.LogContextMiddleware', ] ROOT_URLCONF = 'titanium_cloud.urls' @@ -122,11 +119,47 @@ ROOT_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__fi OPENSTACK_VERSION = "titaniumcloud" MULTIVIM_VERSION = "multicloud-" + OPENSTACK_VERSION - -LOGGING_CONFIG = None -# yaml configuration of logging -LOGGING_FILE = os.path.join(BASE_DIR, 'titanium_cloud/pub/config/log.yml') -config.yamlConfig(filepath=LOGGING_FILE, watchDog=True) +if platform.system() == 'Windows' or 'test' in sys.argv: + LOGGING = { + 'version': 1, + 'disable_existing_loggers': True, + 'formatters': { + 'standard': { + 'format': '%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s', + }, + }, + 'filters': { + }, + 'handlers': { + 'file_handler': { + 'level': 'DEBUG', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': os.path.join(BASE_DIR, 'logs/test.log'), + 'formatter': 'standard', + 'maxBytes': 1024 * 1024 * 50, + 'backupCount': 5, + }, + }, + + 'loggers': { + 'common': { + 'handlers': ['file_handler'], + 'level': 'DEBUG', + 'propagate': False + }, + } + } +else: + log_path = "/var/log/onap/multicloud/openstack/windriver" + if not os.path.exists(log_path): + os.makedirs(log_path) + + LOGGING_CONFIG = None + # yaml configuration of logging + LOGGING_FILE = os.path.join(BASE_DIR, 'titanium_cloud/pub/config/log.yml') + with open(file=LOGGING_FILE, mode='r', encoding="utf-8")as file: + logging_yaml = yaml.load(stream=file, Loader=yaml.FullLoader) + log_config.dictConfig(config=logging_yaml) if 'test' in sys.argv: |