LOGGER.info("Request: {} {}", clientRequest.method(), clientRequest.url());
clientRequest.headers()
.forEach((name, values) -> values.forEach(value -> LOGGER.info("{}={}", name, value)));
+ MDC.remove(SERVICE_NAME);
return Mono.just(clientRequest);
});
}
return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
MDC.put(RESPONSE_CODE, String.valueOf(clientResponse.statusCode()));
LOGGER.info("Response Status {}", clientResponse.statusCode());
+ MDC.remove(RESPONSE_CODE);
return Mono.just(clientResponse);
});
}
package org.onap.dcaegen2.services.prh;
+import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.INVOCATION_ID;
+import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.REQUEST_ID;
+
+import java.util.Map;
+import java.util.UUID;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
SpringApplication.run(MainApp.class, args);
}
+ @Bean
+ Map<String, String> mdcContextMap(){
+ MDC.put(REQUEST_ID, "SampleRequestID");
+ MDC.put(INVOCATION_ID, UUID.randomUUID().toString());
+ return MDC.getCopyOfContextMap();
+ }
+
@Bean
TaskScheduler concurrentTaskScheduler() {
return new ConcurrentTaskScheduler();
InputStream getInputStream(@NotNull String filepath) throws IOException {
return new BufferedInputStream(new FileInputStream(filepath));
}
-
- public void setXOnapRequestId(String xonaprequestid) {
- MDC.put(REQUEST_ID, xonaprequestid);
- }
-
- public void setXInvocationId(String xinvocationid) {
- MDC.put(INVOCATION_ID, xinvocationid);
- }
}
\ No newline at end of file
public class AaiProducerTaskImpl extends
AaiProducerTask {
- private static final Marker INVOKE = MarkerFactory.getMarker("INVOKE");
private static final Logger LOGGER = LoggerFactory.getLogger(AaiProducerTaskImpl.class);
private final Config config;
throw new DmaapNotFoundException("Invoked null object to DMaaP task");
}
aaiProducerReactiveHttpClient = resolveClient();
- LOGGER.debug(INVOKE, "Method called with arg {}", consumerDmaapModel);
+ LOGGER.debug("Method called with arg {}", consumerDmaapModel);
return publish(consumerDmaapModel);
}
@Component
public class DmaapConsumerTaskImpl extends DmaapConsumerTask {
- private static final Marker INVOKE = MarkerFactory.getMarker("INVOKE");
-
private static final Logger LOGGER = LoggerFactory.getLogger(DmaapConsumerTaskImpl.class);
private final Config config;
private DmaapConsumerJsonParser dmaapConsumerJsonParser;
@Override
public Mono<ConsumerDmaapModel> execute(String object) {
DMaaPConsumerReactiveHttpClient dmaaPConsumerReactiveHttpClient = resolveClient();
- LOGGER.debug(INVOKE, "Method called with arg {}", object);
+ LOGGER.debug("Method called with arg {}", object);
return consume(dmaaPConsumerReactiveHttpClient.getDMaaPConsumerResponse());
}
public class DmaapPublisherTaskImpl extends DmaapPublisherTask {
private static final Logger LOGGER = LoggerFactory.getLogger(DmaapPublisherTaskImpl.class);
- private static final Marker INVOKE = MarkerFactory.getMarker("INVOKE");
private final Config config;
private DMaaPProducerReactiveHttpClient dmaapProducerReactiveHttpClient;
throw new DmaapNotFoundException("Invoked null object to DMaaP task");
}
dmaapProducerReactiveHttpClient = resolveClient();
- LOGGER.info(INVOKE, "Method called with arg {}", consumerDmaapModel);
+ LOGGER.info("Method called with arg {}", consumerDmaapModel);
return publish(consumerDmaapModel);
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
+import org.slf4j.Marker;
+import org.slf4j.MarkerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
public class ScheduledTasks {
private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class);
-
+ private final Marker INVOKE = MarkerFactory.getMarker("INVOKE");
private final DmaapConsumerTask dmaapConsumerTask;
private final DmaapPublisherTask dmaapProducerTask;
private final AaiProducerTask aaiProducerTask;
- private Map<String, String> contextMap = MDC.getCopyOfContextMap();
+ private Map<String, String> mdcContextMap;
/**
* Constructor for tasks registration in PRHWorkflow.
*/
@Autowired
public ScheduledTasks(DmaapConsumerTask dmaapConsumerTask, DmaapPublisherTask dmaapPublisherTask,
- AaiProducerTask aaiPublisherTask) {
+ AaiProducerTask aaiPublisherTask, Map<String, String> mdcContextMap) {
this.dmaapConsumerTask = dmaapConsumerTask;
this.dmaapProducerTask = dmaapPublisherTask;
this.aaiProducerTask = aaiPublisherTask;
+ this.mdcContextMap = mdcContextMap;
}
/**
* Main function for scheduling prhWorkflow.
*/
public void scheduleMainPrhEventTask() {
- MdcVariables.setMdcContextMap(contextMap);
+ MdcVariables.setMdcContextMap(mdcContextMap);
try {
logger.trace("Execution of tasks was registered");
CountDownLatch mainCountDownLatch = new CountDownLatch(1);
MDC.put(RESPONSE_CODE, responseCode.getStatusCode().toString());
logger.info("Prh consumed tasks successfully. HTTP Response code from DMaaPProducer {}",
responseCode.getStatusCode().value());
+ MDC.remove(RESPONSE_CODE);
}
private void onError(Throwable throwable) {
private Mono<ConsumerDmaapModel> consumeFromDMaaPMessage() {
return Mono.defer(() -> {
- MdcVariables.setMdcContextMap(contextMap);
+ MdcVariables.setMdcContextMap(mdcContextMap);
MDC.put(INSTANCE_UUID, UUID.randomUUID().toString());
- logger.info("Init configs");
+ logger.info(INVOKE, "Init configs");
dmaapConsumerTask.initConfigs();
return dmaapConsumerTask.execute("");
});
import static org.mockito.Mockito.spy;
+import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Autowired
private AaiProducerTask aaiPublisherTaskImplSpy;
+ @Autowired
+ private Map<String, String> mdcContextMap;
+
@Bean
@Primary
public ScheduledTasks registerSimpleScheduledTask() {
- return spy(new ScheduledTasks(dmaapConsumerTaskImplSpy, dmaapPublisherTaskImplSpy, aaiPublisherTaskImplSpy));
+ return spy(new ScheduledTasks(dmaapConsumerTaskImplSpy, dmaapPublisherTaskImplSpy, aaiPublisherTaskImplSpy, mdcContextMap));
}
}
package org.onap.dcaegen2.services.prh.service;
+import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.RESPONSE_CODE;
+import static org.onap.dcaegen2.services.prh.model.logging.MdcVariables.SERVICE_NAME;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
private ExchangeFilterFunction logResponse() {
return ExchangeFilterFunction.ofResponseProcessor(clientResponse -> {
- MDC.put("ResponseCode", String.valueOf(clientResponse.statusCode()));
+ MDC.put(RESPONSE_CODE, String.valueOf(clientResponse.statusCode()));
logger.info("Response Status {}", clientResponse.statusCode());
+ MDC.remove(RESPONSE_CODE);
return Mono.just(clientResponse);
});
}
private ExchangeFilterFunction logRequest() {
return ExchangeFilterFunction.ofRequestProcessor(clientRequest -> {
- MDC.put("ServiceName", String.valueOf(clientRequest.url()));
+ MDC.put(SERVICE_NAME, String.valueOf(clientRequest.url()));
logger.info("Request: {} {}", clientRequest.method(), clientRequest.url());
clientRequest.headers()
.forEach((name, values) -> values.forEach(value -> logger.info("{}={}", name, value)));
+ MDC.remove(SERVICE_NAME);
return Mono.just(clientRequest);
});
}