use onap logging 1.6.1 with needed workarounds
[vid.git] / vid-app-common / src / main / java / org / onap / vid / logging / LoggingFilterHelper.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * VID
4  * ================================================================================
5  * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.vid.logging;
22
23 import java.util.function.Supplier;
24 import org.onap.logging.filter.base.AbstractMetricLogFilter;
25 import org.onap.logging.ref.slf4j.ONAPLogConstants;
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
28 import org.slf4j.MDC;
29
30 public class LoggingFilterHelper {
31
32     protected static final Logger logger = LoggerFactory.getLogger(AbstractMetricLogFilter.class);
33
34     /**
35      * set invocationId in MDC with actual header value,
36      * due to bug in AbstractMetricLogFilter
37      *
38      * @param headerSupplier - return the InvocationId header value
39      */
40     static void updateInvocationIDInMdcWithHeaderValue(Supplier<String> headerSupplier) {
41         try {
42             String invocationId = headerSupplier.get();
43             MDC.put(ONAPLogConstants.MDCs.INVOCATION_ID, invocationId);
44         }
45         catch (Exception e) {
46             logger.debug("Failed to retrieve "+ONAPLogConstants.Headers.INVOCATION_ID+" header", e);
47         }
48     }
49 }