Remove dependency to onaplog package 74/123374/5
authorBin Yang <bin.yang@windriver.com>
Thu, 19 Aug 2021 05:11:03 +0000 (13:11 +0800)
committerBin Yang <bin.yang@windriver.com>
Thu, 19 Aug 2021 08:19:25 +0000 (16:19 +0800)
due to it is not supported python3.8

Issue-ID: MULTICLOUD-1382
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Change-Id: I616edd885070724aa4daea3a3220547e2108531e

16 files changed:
fcaps/fcaps/middleware.py [deleted file]
fcaps/fcaps/pub/config/log.yml
fcaps/fcaps/settings.py
fcaps/requirements.txt
pike/pike/middleware.py [deleted file]
pike/pike/pub/config/log.yml
pike/pike/settings.py
pike/requirements.txt
starlingx/requirements.txt
starlingx/starlingx/middleware.py [deleted file]
starlingx/starlingx/pub/config/log.yml
starlingx/starlingx/settings.py
windriver/requirements.txt
windriver/titanium_cloud/middleware.py [deleted file]
windriver/titanium_cloud/pub/config/log.yml
windriver/titanium_cloud/settings.py

diff --git a/fcaps/fcaps/middleware.py b/fcaps/fcaps/middleware.py
deleted file mode 100644 (file)
index e6804f0..0000000
+++ /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
index ad27b50..71ebe2b 100644 (file)
@@ -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
-
-
index 979c151..37021e0 100644 (file)
 
 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:
 
index 98db366..9db93b2 100644 (file)
@@ -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 (file)
index 0697b81..0000000
+++ /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
index bb7b3a3..22b9692 100644 (file)
@@ -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
-
index d946383..83c7415 100644 (file)
 
 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:
 
index f7a5470..850a52e 100644 (file)
@@ -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
index e92acda..3623b81 100644 (file)
@@ -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 (file)
index a2851d3..0000000
+++ /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
index 4e3e248..ef68a65 100644 (file)
@@ -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
-
index 56547ce..d0eafd5 100644 (file)
 
 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:
 
index 19e9b1e..72bcb96 100644 (file)
@@ -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 (file)
index 4f19da0..0000000
+++ /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
index ca3a549..280980d 100644 (file)
@@ -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
-
-
index a4d7f63..eee2f1d 100644 (file)
 
 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: