Skip to content

Commit e6f7120

Browse files
author
Pankaj Agrawal
committed
chore: move trace id logic to core for reuse
1 parent 0338ecd commit e6f7120

File tree

4 files changed

+14
-13
lines changed

4 files changed

+14
-13
lines changed

powertools-core/src/main/java/software/amazon/lambda/powertools/core/internal/LambdaHandlerProcessor.java

+9
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import static java.util.Optional.empty;
2626
import static java.util.Optional.of;
27+
import static software.amazon.lambda.powertools.core.internal.SystemWrapper.getenv;
2728

2829
public final class LambdaHandlerProcessor {
2930
// SERVICE_NAME cannot be final for testing purposes
@@ -83,4 +84,12 @@ public static void coldStartDone() {
8384
public static boolean isSamLocal() {
8485
return "true".equals(System.getenv("AWS_SAM_LOCAL"));
8586
}
87+
88+
public static Optional<String> getXrayTraceId() {
89+
final String X_AMZN_TRACE_ID = getenv("_X_AMZN_TRACE_ID");
90+
if(X_AMZN_TRACE_ID != null) {
91+
return of(X_AMZN_TRACE_ID.split(";")[0].replace("Root=", ""));
92+
}
93+
return empty();
94+
}
8695
}
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package software.amazon.lambda.powertools.logging.internal;
1+
package software.amazon.lambda.powertools.core.internal;
22

3-
class SystemWrapper {
3+
public class SystemWrapper {
44
private SystemWrapper() {
55
}
66

powertools-logging/src/main/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspect.java

+1-10
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,17 @@
3939

4040
import static java.nio.charset.StandardCharsets.UTF_8;
4141
import static java.util.Optional.empty;
42-
import static java.util.Optional.of;
4342
import static java.util.Optional.ofNullable;
4443
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.coldStartDone;
4544
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.extractContext;
45+
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.getXrayTraceId;
4646
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isColdStart;
4747
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.isHandlerMethod;
4848
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnRequestHandler;
4949
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.placedOnStreamHandler;
5050
import static software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor.serviceName;
5151
import static software.amazon.lambda.powertools.logging.LoggingUtils.appendKey;
5252
import static software.amazon.lambda.powertools.logging.LoggingUtils.appendKeys;
53-
import static software.amazon.lambda.powertools.logging.internal.SystemWrapper.getenv;
5453

5554
@Aspect
5655
public final class LambdaLoggingAspect {
@@ -200,12 +199,4 @@ private Optional<String> asJson(final ProceedingJoinPoint pjp,
200199
private Logger logger(final ProceedingJoinPoint pjp) {
201200
return LogManager.getLogger(pjp.getSignature().getDeclaringType());
202201
}
203-
204-
private static Optional<String> getXrayTraceId() {
205-
final String X_AMZN_TRACE_ID = getenv("_X_AMZN_TRACE_ID");
206-
if(X_AMZN_TRACE_ID != null) {
207-
return of(X_AMZN_TRACE_ID.split(";")[0].replace("Root=", ""));
208-
}
209-
return empty();
210-
}
211202
}

powertools-logging/src/test/java/software/amazon/lambda/powertools/logging/internal/LambdaLoggingAspectTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.mockito.Mock;
4242
import org.mockito.MockedStatic;
4343
import software.amazon.lambda.powertools.core.internal.LambdaHandlerProcessor;
44+
import software.amazon.lambda.powertools.core.internal.SystemWrapper;
4445
import software.amazon.lambda.powertools.logging.handlers.PowerLogToolEnabled;
4546
import software.amazon.lambda.powertools.logging.handlers.PowerLogToolEnabledForStream;
4647
import software.amazon.lambda.powertools.logging.handlers.PowerToolDisabled;
@@ -65,7 +66,7 @@
6566
import static org.mockito.Mockito.when;
6667
import static org.mockito.MockitoAnnotations.openMocks;
6768
import static org.skyscreamer.jsonassert.JSONAssert.assertEquals;
68-
import static software.amazon.lambda.powertools.logging.internal.SystemWrapper.getenv;
69+
import static software.amazon.lambda.powertools.core.internal.SystemWrapper.getenv;
6970

7071
class LambdaLoggingAspectTest {
7172

0 commit comments

Comments
 (0)