Skip to content

Commit 74ec19d

Browse files
committed
Update logging for java-events examples
- Use Context logger in all handlers, removing SLF4J dependency - Unit testing still requires SLF4J logging - Included missing CloudFront option in 3-invoke.sh script - Manually deployed and tested all handlers; all work as normal
1 parent 234f0e4 commit 74ec19d

21 files changed

+63
-120
lines changed

sample-apps/java-events/3-invoke.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ then
1616
sns)
1717
PAYLOAD='file://events/sns-notification.json'
1818
;;
19+
cdn)
20+
PAYLOAD='file://events/cloudfront.json'
21+
;;
1922
cfg)
2023
PAYLOAD='file://events/config-rule.json'
2124
;;

sample-apps/java-events/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ repositories {
99
dependencies {
1010
implementation 'com.amazonaws:aws-lambda-java-core:1.2.1'
1111
implementation 'com.amazonaws:aws-lambda-java-events:3.11.0'
12-
implementation 'com.google.code.gson:gson:2.8.6'
13-
implementation 'org.apache.logging.log4j:log4j-slf4j18-impl:[2.17.1,)'
12+
implementation 'com.google.code.gson:gson:2.8.9'
13+
implementation 'org.slf4j:slf4j-nop:2.0.6'
1414
testImplementation 'com.amazonaws:aws-lambda-java-tests:1.1.1'
15-
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
16-
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.0'
15+
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
16+
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
1717
}
1818

1919
test {

sample-apps/java-events/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
<version>2.8.9</version>
2929
</dependency>
3030
<dependency>
31-
<groupId>org.apache.logging.log4j</groupId>
32-
<artifactId>log4j-slf4j18-impl</artifactId>
33-
<version>[2.17.1,)</version>
31+
<groupId>org.slf4j</groupId>
32+
<artifactId>slf4j-nop</artifactId>
33+
<version>2.0.6</version>
3434
</dependency>
3535
<dependency>
3636
<groupId>org.junit.jupiter</groupId>

sample-apps/java-events/src/main/java/example/HandlerApiGatewayV1.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent;
67
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;
78

89
import java.util.HashMap;
910

10-
import org.slf4j.Logger;
11-
import org.slf4j.LoggerFactory;
12-
1311
// Handler value: example.Handler
1412
public class HandlerApiGatewayV1 implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent>{
1513

16-
private static final Logger logger = LoggerFactory.getLogger(HandlerApiGatewayV1.class);
17-
1814
@Override
1915
public APIGatewayProxyResponseEvent handleRequest(APIGatewayProxyRequestEvent event, Context context)
2016
{
21-
logger.info("EVENT TYPE: " + event.getClass().toString());
17+
LambdaLogger logger = context.getLogger();
18+
logger.log("EVENT TYPE: " + event.getClass().toString());
2219
APIGatewayProxyResponseEvent response = new APIGatewayProxyResponseEvent();
2320
response.setIsBase64Encoded(false);
2421
response.setStatusCode(200);

sample-apps/java-events/src/main/java/example/HandlerApiGatewayV2.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.APIGatewayV2HTTPEvent;
67
import com.amazonaws.services.lambda.runtime.events.APIGatewayV2HTTPResponse;
78

89
import java.util.HashMap;
910

10-
import org.slf4j.Logger;
11-
import org.slf4j.LoggerFactory;
12-
1311
// Handler value: example.HandlerApiGateway
1412
public class HandlerApiGatewayV2 implements RequestHandler<APIGatewayV2HTTPEvent, APIGatewayV2HTTPResponse>{
1513

16-
private static final Logger logger = LoggerFactory.getLogger(HandlerApiGatewayV2.class);
17-
1814
@Override
1915
public APIGatewayV2HTTPResponse handleRequest(APIGatewayV2HTTPEvent event, Context context)
2016
{
21-
logger.info("EVENT TYPE: " + event.getClass().toString());
17+
LambdaLogger logger = context.getLogger();
18+
logger.log("EVENT TYPE: " + event.getClass().toString());
2219
APIGatewayV2HTTPResponse response = new APIGatewayV2HTTPResponse();
2320
response.setIsBase64Encoded(false);
2421
response.setStatusCode(200);

sample-apps/java-events/src/main/java/example/HandlerCWEvents.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.ScheduledEvent;
67

78
import java.util.ArrayList;
89
import java.util.List;
910

10-
import org.slf4j.Logger;
11-
import org.slf4j.LoggerFactory;
12-
1311
// Handler value: example.HandlerCWEvents
1412
public class HandlerCWEvents implements RequestHandler<ScheduledEvent, List<String>>{
1513

16-
private static final Logger logger = LoggerFactory.getLogger(HandlerCWEvents.class);
17-
1814
@Override
1915
public List<String> handleRequest(ScheduledEvent event, Context context)
2016
{
21-
logger.info("EVENT TYPE: " + event.getClass().toString());
17+
LambdaLogger logger = context.getLogger();
18+
logger.log("EVENT TYPE: " + event.getClass().toString());
2219
var resourcesFound = new ArrayList<String>();
2320
for (String resource : event.getResources()) {
2421
resourcesFound.add(resource);

sample-apps/java-events/src/main/java/example/HandlerCWLogs.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.CloudWatchLogsEvent;
67

@@ -14,18 +15,14 @@
1415
import java.nio.charset.StandardCharsets;
1516
import java.util.zip.GZIPInputStream;
1617

17-
import org.slf4j.Logger;
18-
import org.slf4j.LoggerFactory;
19-
2018
// Handler value: example.HandlerCWLogs
2119
public class HandlerCWLogs implements RequestHandler<CloudWatchLogsEvent, String>{
2220

23-
private static final Logger logger = LoggerFactory.getLogger(HandlerCWLogs.class);
24-
2521
@Override
2622
public String handleRequest(CloudWatchLogsEvent event, Context context)
2723
{
28-
logger.info("EVENT TYPE: " + event.getClass().toString());
24+
LambdaLogger logger = context.getLogger();
25+
logger.log("EVENT TYPE: " + event.getClass().toString());
2926
Decoder decoder = Base64.getDecoder();
3027
byte[] decodedEvent = decoder.decode(event.getAwsLogs().getData());
3128
StringBuilder output = new StringBuilder();
@@ -38,7 +35,7 @@ public String handleRequest(CloudWatchLogsEvent event, Context context)
3835
});
3936
// logger.info(output.toString());
4037
} catch(IOException e) {
41-
logger.error("ERROR: " + e.toString());
38+
logger.log("ERROR: " + e.toString());
4239
}
4340
return output.toString();
4441
}

sample-apps/java-events/src/main/java/example/HandlerCloudFront.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.CloudFrontEvent;
67
import com.amazonaws.services.lambda.runtime.events.CloudFrontEvent.CF;
@@ -9,18 +10,14 @@
910
import java.util.ArrayList;
1011
import java.util.List;
1112

12-
import org.slf4j.Logger;
13-
import org.slf4j.LoggerFactory;
14-
1513
// Handler value: example.HandlerCloudFront
1614
public class HandlerCloudFront implements RequestHandler<CloudFrontEvent, List<String>>{
1715

18-
private static final Logger logger = LoggerFactory.getLogger(HandlerCloudFront.class);
19-
2016
@Override
2117
public List<String> handleRequest(CloudFrontEvent event, Context context)
2218
{
23-
logger.info("EVENT TYPE: " + event.getClass().toString());
19+
LambdaLogger logger = context.getLogger();
20+
logger.log("EVENT TYPE: " + event.getClass().toString());
2421
var urisFound = new ArrayList<String>();
2522
for (Record record : event.getRecords()) {
2623
CF cfBody = record.getCf();

sample-apps/java-events/src/main/java/example/HandlerCodeCommit.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.CodeCommitEvent;
67
import com.amazonaws.services.lambda.runtime.events.CodeCommitEvent.CodeCommit;
@@ -10,18 +11,14 @@
1011
import java.util.ArrayList;
1112
import java.util.List;
1213

13-
import org.slf4j.Logger;
14-
import org.slf4j.LoggerFactory;
15-
1614
// Handler value: example.HandlerCodeCommit
1715
public class HandlerCodeCommit implements RequestHandler<CodeCommitEvent, List<String>>{
1816

19-
private static final Logger logger = LoggerFactory.getLogger(HandlerCodeCommit.class);
20-
2117
@Override
2218
public List<String> handleRequest(CodeCommitEvent event, Context context)
2319
{
24-
logger.info("EVENT TYPE: " + event.getClass().toString());
20+
LambdaLogger logger = context.getLogger();
21+
logger.log("EVENT TYPE: " + event.getClass().toString());
2522
var commitsFound = new ArrayList<String>();
2623
for (Record record : event.getRecords()) {
2724
CodeCommit commit = record.getCodeCommit();

sample-apps/java-events/src/main/java/example/HandlerCognito.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.CognitoEvent;
67
import com.amazonaws.services.lambda.runtime.events.CognitoEvent.DatasetRecord;
78

89
import java.util.ArrayList;
910
import java.util.List;
1011

11-
import org.slf4j.Logger;
12-
import org.slf4j.LoggerFactory;
13-
1412
// Handler value: example.HandlerCognito
1513
public class HandlerCognito implements RequestHandler<CognitoEvent, List<String>>{
1614

17-
private static final Logger logger = LoggerFactory.getLogger(HandlerCognito.class);
18-
1915
@Override
2016
public List<String> handleRequest(CognitoEvent event, Context context)
2117
{
22-
logger.info("EVENT TYPE: " + event.getClass().toString());
18+
LambdaLogger logger = context.getLogger();
19+
logger.log("EVENT TYPE: " + event.getClass().toString());
2320
var operationsFound = new ArrayList<String>();
2421
for (DatasetRecord record : event.getDatasetRecords().values()) {
2522
operationsFound.add(record.getOp());
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.ConfigEvent;
67

7-
import org.slf4j.Logger;
8-
import org.slf4j.LoggerFactory;
9-
108
// Handler value: example.HandlerConfig
119
public class HandlerConfig implements RequestHandler<ConfigEvent, String>{
1210

13-
private static final Logger logger = LoggerFactory.getLogger(HandlerConfig.class);
14-
1511
@Override
1612
public String handleRequest(ConfigEvent event, Context context)
1713
{
18-
logger.info("EVENT TYPE: " + event.getClass().toString());
14+
LambdaLogger logger = context.getLogger();
15+
logger.log("EVENT TYPE: " + event.getClass().toString());
1916
return event.getConfigRuleArn();
2017
}
2118
}

sample-apps/java-events/src/main/java/example/HandlerDynamoDB.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;
67
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent.DynamodbStreamRecord;
78

89
import java.util.ArrayList;
910
import java.util.List;
1011

11-
import org.slf4j.Logger;
12-
import org.slf4j.LoggerFactory;
13-
1412
// Handler value: example.HandlerDynamoDB
1513
public class HandlerDynamoDB implements RequestHandler<DynamodbEvent, List<String>>{
1614

17-
private static final Logger logger = LoggerFactory.getLogger(HandlerDynamoDB.class);
18-
1915
@Override
2016
public List<String> handleRequest(DynamodbEvent event, Context context)
2117
{
22-
logger.info("EVENT TYPE: " + event.getClass().toString());
18+
LambdaLogger logger = context.getLogger();
19+
logger.log("EVENT TYPE: " + event.getClass().toString());
2320
var operationsFound = new ArrayList<String>();
2421
for (DynamodbStreamRecord record : event.getRecords()) {
2522
operationsFound.add(record.getEventName());

sample-apps/java-events/src/main/java/example/HandlerFirehose.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.KinesisFirehoseEvent;
67
import com.amazonaws.services.lambda.runtime.events.KinesisFirehoseEvent.Record;
78

89
import java.util.ArrayList;
910
import java.util.List;
1011

11-
import org.slf4j.Logger;
12-
import org.slf4j.LoggerFactory;
13-
1412
// Handler value: example.HandlerFirehose
1513
public class HandlerFirehose implements RequestHandler<KinesisFirehoseEvent, List<String>>{
1614

17-
private static final Logger logger = LoggerFactory.getLogger(HandlerFirehose.class);
18-
1915
@Override
2016
public List<String> handleRequest(KinesisFirehoseEvent event, Context context)
2117
{
22-
logger.info("EVENT TYPE: " + event.getClass().toString());
18+
LambdaLogger logger = context.getLogger();
19+
logger.log("EVENT TYPE: " + event.getClass().toString());
2320
var recordIds = new ArrayList<String>();
2421
for (Record record : event.getRecords()) {
2522
recordIds.add(record.getRecordId());

sample-apps/java-events/src/main/java/example/HandlerKinesis.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.KinesisEvent;
67
import com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord;
@@ -11,19 +12,16 @@
1112
import java.util.ArrayList;
1213
import java.util.List;
1314

14-
import org.slf4j.Logger;
15-
import org.slf4j.LoggerFactory;
16-
1715
// Handler value: example.HandleKinesis
1816
public class HandlerKinesis implements RequestHandler<KinesisEvent, List<String>>{
1917

20-
private static final Logger logger = LoggerFactory.getLogger(HandlerKinesis.class);
2118
Gson gson = new GsonBuilder().setPrettyPrinting().create();
2219

2320
@Override
2421
public List<String> handleRequest(KinesisEvent event, Context context)
2522
{
26-
logger.info("EVENT TYPE: " + event.getClass().toString());
23+
LambdaLogger logger = context.getLogger();
24+
logger.log("EVENT TYPE: " + event.getClass().toString());
2725
var dataRecords = new ArrayList<String>();
2826
for(KinesisEventRecord record : event.getRecords()) {
2927
dataRecords.add(gson.toJson(record.getKinesis().getData()));
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
package example;
22

33
import com.amazonaws.services.lambda.runtime.Context;
4+
import com.amazonaws.services.lambda.runtime.LambdaLogger;
45
import com.amazonaws.services.lambda.runtime.RequestHandler;
56
import com.amazonaws.services.lambda.runtime.events.LexEvent;
67

7-
import org.slf4j.Logger;
8-
import org.slf4j.LoggerFactory;
9-
108
// Handler value: example.HandlerLex
119
public class HandlerLex implements RequestHandler<LexEvent, String>{
1210

13-
private static final Logger logger = LoggerFactory.getLogger(HandlerLex.class);
14-
1511
@Override
1612
public String handleRequest(LexEvent event, Context context)
1713
{
18-
logger.info("EVENT TYPE: " + event.getClass().toString());
14+
LambdaLogger logger = context.getLogger();
15+
logger.log("EVENT TYPE: " + event.getClass().toString());
1916
return event.getCurrentIntent().getName();
2017
}
2118
}

0 commit comments

Comments
 (0)