in powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java [85:117]
public Object around(ProceedingJoinPoint pjp,
Logging logging) throws Throwable {
Object[] proceedArgs = pjp.getArgs();
setLogLevelBasedOnSamplingRate(pjp, logging);
Context extractedContext = extractContext(pjp);
if(null != extractedContext) {
appendKeys(DefaultLambdaFields.values(extractedContext));
appendKey("coldStart", isColdStart() ? "true" : "false");
appendKey("service", serviceName());
}
getXrayTraceId().ifPresent(xRayTraceId -> appendKey("xray_trace_id", xRayTraceId));
if (logging.logEvent()) {
proceedArgs = logEvent(pjp);
}
if (!logging.correlationIdPath().isEmpty()) {
proceedArgs = captureCorrelationId(logging.correlationIdPath(), pjp);
}
Object proceed = pjp.proceed(proceedArgs);
if(logging.clearState()) {
ThreadContext.clearMap();
}
coldStartDone();
return proceed;
}