diff options
author | 2019-11-07 17:46:53 +0000 | |
---|---|---|
committer | 2019-11-07 17:46:53 +0000 | |
commit | 5293a382b6463069d4a2cc87806426d74833aa2e (patch) | |
tree | 47b3ab94e2ba99972c8a8d7fcdfc1da9a94aaa00 /osdf/utils/mdc_utils.py | |
parent | eea1300171509e7f5c6aa5e9e01f88a7afa24d0b (diff) | |
parent | 15a847b3bebd604113414938c1345fe47b2c51b5 (diff) |
Merge "Add onap log spec 1.2 for osdf"
Diffstat (limited to 'osdf/utils/mdc_utils.py')
-rw-r--r-- | osdf/utils/mdc_utils.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/osdf/utils/mdc_utils.py b/osdf/utils/mdc_utils.py new file mode 100644 index 0000000..6da67bd --- /dev/null +++ b/osdf/utils/mdc_utils.py @@ -0,0 +1,55 @@ +# ------------------------------------------------------------------------- +# Copyright (c) 2019 AT&T Intellectual Property +# +# 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 socket +import threading +import uuid + +from onaplogging.mdcContext import MDC + + +def default_server_info(): + # If not set or purposely set = None, then set default + if MDC.get('server') is None: + try: + server = socket.getfqdn() + except Exception as err: + try: + server = socket.gethostname() + except Exception as err: + server = '' + MDC.put('server', server) + if MDC.get('serverIPAddress') is None: + try: + server_ip_address = socket.gethostbyname(self._fields['server']) + except Exception: + server_ip_address = "" + MDC.put('serverIPAddress', server_ip_address) + + +def mdc_from_json(request_json): + MDC.put('instanceUUID', uuid.uuid1()) + MDC.put('serviceName', 'OOF_OSDF') + MDC.put('threadID', threading.currentThread().getName()) + default_server_info() + MDC.put('requestID', request_json['requestInfo']['requestId']) + MDC.put('partnerName', request_json['requestInfo']['sourceId']) + + +def clear_mdc(): + MDC.clear() |