aboutsummaryrefslogtreecommitdiffstats
path: root/common/src/main/java/org/onap/so/logging/jaxrs/filter/SOAuditLogContainerFilter.java
blob: 9552755544e2f546b7d88d81428dd0b56ea8facd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package org.onap.so.logging.jaxrs.filter;

import javax.annotation.Priority;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.PreMatching;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.so.logger.HttpHeadersConstants;
import org.onap.so.logger.LogConstants;
import org.slf4j.MDC;
import org.springframework.stereotype.Component;
import org.onap.logging.filter.base.AuditLogContainerFilter;

@Priority(1)
@PreMatching
@Component
public class SOAuditLogContainerFilter extends AuditLogContainerFilter {

    private static final String ORIGINAL_PARTNER_NAME = "OriginalPartnerName";

    @Override
    protected void additionalPreHandling(ContainerRequestContext request) {
        request.setProperty("requestId", MDC.get(ONAPLogConstants.MDCs.REQUEST_ID));
        MDC.put(ORIGINAL_PARTNER_NAME, MDC.get(ONAPLogConstants.MDCs.PARTNER_NAME));
        String requestorId = request.getHeaders().getFirst("X-RequestorID");
        if (requestorId != null) {
            MDC.put(HttpHeadersConstants.REQUESTOR_ID, requestorId);
        }
        MDC.put(LogConstants.URI_BASE, request.getUriInfo().getBaseUri().toString());
    }
}