summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Yang <bin.yang@windriver.com>2021-08-19 13:17:26 +0800
committerBin Yang <bin.yang@windriver.com>2021-08-19 17:51:21 +0800
commitddc685cb8a6acd53a7c9c1c9df89298d440c0221 (patch)
tree7587cb62b911101f12b16a8fff9662c4a38d93dd
parentea5bacc42ac62db03f96c18719ebedeb8d592d5c (diff)
Remove dependency to onaplog
due to it does not support python3.8 Issue-ID: MULTICLOUD-1382 Signed-off-by: Bin Yang <bin.yang@windriver.com> Change-Id: I31441761b9742e73781aac5f9d128f61a339b952
-rw-r--r--multivimbroker/multivimbroker/middleware.py64
-rw-r--r--multivimbroker/multivimbroker/pub/config/log.yml9
-rw-r--r--multivimbroker/multivimbroker/settings.py57
-rw-r--r--multivimbroker/requirements.txt3
4 files changed, 48 insertions, 85 deletions
diff --git a/multivimbroker/multivimbroker/middleware.py b/multivimbroker/multivimbroker/middleware.py
deleted file mode 100644
index fd063c3..0000000
--- a/multivimbroker/multivimbroker/middleware.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (c) 2017-2018 VMware, 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.
-
-
-import uuid
-from onaplogging.mdcContext import MDC
-from multivimbroker.pub.config.config import SERVICE_NAME
-from multivimbroker.pub.config.config import FORWARDED_FOR_FIELDS
-
-
-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 TRANSACTIONID Id and pass to plugin server
- ReqeustID = request.META.get("HTTP_X_TRANSACTIONID", None)
- if ReqeustID is None:
- ReqeustID = str(uuid.uuid3(uuid.NAMESPACE_URL, SERVICE_NAME))
- request.META["HTTP_X_TRANSACTIONID"] = ReqeustID
- MDC.put("requestID", ReqeustID)
- # generate the unique id
- InovocationID = str(uuid.uuid4())
- MDC.put("invocationID", InovocationID)
- MDC.put("serviceName", SERVICE_NAME)
- # access ip
- MDC.put("serviceIP", self._getLastIp(request))
-
- return None
-
- def process_response(self, request, response):
-
- MDC.clear()
- return response
diff --git a/multivimbroker/multivimbroker/pub/config/log.yml b/multivimbroker/multivimbroker/pub/config/log.yml
index 09be40d..bdcf2ad 100644
--- a/multivimbroker/multivimbroker/pub/config/log.yml
+++ b/multivimbroker/multivimbroker/pub/config/log.yml
@@ -11,16 +11,9 @@ handlers:
level: "DEBUG"
class: "logging.handlers.RotatingFileHandler"
filename: "/var/log/onap/multicloud/multivimbroker/multivimbroker.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/multivimbroker/multivimbroker/settings.py b/multivimbroker/multivimbroker/settings.py
index d5cd466..850694e 100644
--- a/multivimbroker/multivimbroker/settings.py
+++ b/multivimbroker/multivimbroker/settings.py
@@ -12,9 +12,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
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
@@ -51,7 +51,6 @@ MIDDLEWARE_CLASSES = [
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
- 'multivimbroker.middleware.LogContextMiddleware',
]
ROOT_URLCONF = 'multivimbroker.urls'
@@ -82,15 +81,51 @@ TIME_ZONE = 'UTC'
STATIC_URL = '/static/'
-
-LOGGING_CONFIG = None
-# yaml configuration of logging
-LOGGING_FILE = os.path.join(BASE_DIR, 'multivimbroker/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/multivimbroker"
+ 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, 'multivimbroker/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:
- from multivimbroker.pub.config import config
+ # from multivimbroker.pub.config import config
REST_FRAMEWORK = {}
import platform
diff --git a/multivimbroker/requirements.txt b/multivimbroker/requirements.txt
index f417847..e792b78 100644
--- a/multivimbroker/requirements.txt
+++ b/multivimbroker/requirements.txt
@@ -26,8 +26,7 @@ httplib2==0.13.0
# mock==2.0.0
# unittest_xml_reporting==1.12.0
-# for onap logging
-onappylog>=1.0.9
+PyYAML==5.3.1
# for pecan framework
# pecan>=1.2.1