2121import software .amazon .awssdk .services .s3 .S3Client ;
2222
2323import com .amazonaws .services .lambda .runtime .Context ;
24+ import com .amazonaws .services .lambda .runtime .LambdaLogger ;
2425import com .amazonaws .services .lambda .runtime .RequestHandler ;
2526import com .amazonaws .services .lambda .runtime .events .S3Event ;
2627import com .amazonaws .services .lambda .runtime .events .models .s3 .S3EventNotification .S3EventNotificationRecord ;
2728
28- import org .slf4j .Logger ;
29- import org .slf4j .LoggerFactory ;
30-
3129// Handler value: example.Handler
3230public class Handler implements RequestHandler <S3Event , String > {
33- private static final Logger logger = LoggerFactory .getLogger (Handler .class );
3431 private static final float MAX_DIMENSION = 100 ;
3532 private final String REGEX = ".*\\ .([^\\ .]*)" ;
3633 private final String JPG_TYPE = "jpg" ;
@@ -39,6 +36,7 @@ public class Handler implements RequestHandler<S3Event, String> {
3936 private final String PNG_MIME = "image/png" ;
4037 @ Override
4138 public String handleRequest (S3Event s3event , Context context ) {
39+ LambdaLogger logger = context .getLogger ();
4240 try {
4341 S3EventNotificationRecord record = s3event .getRecords ().get (0 );
4442
@@ -53,12 +51,12 @@ public String handleRequest(S3Event s3event, Context context) {
5351 // Infer the image type.
5452 Matcher matcher = Pattern .compile (REGEX ).matcher (srcKey );
5553 if (!matcher .matches ()) {
56- logger .info ("Unable to infer image type for key " + srcKey );
54+ logger .log ("Unable to infer image type for key " + srcKey );
5755 return "" ;
5856 }
5957 String imageType = matcher .group (1 );
6058 if (!(JPG_TYPE .equals (imageType )) && !(PNG_TYPE .equals (imageType ))) {
61- logger .info ("Skipping non-image " + srcKey );
59+ logger .log ("Skipping non-image " + srcKey );
6260 return "" ;
6361 }
6462
@@ -75,9 +73,9 @@ public String handleRequest(S3Event s3event, Context context) {
7573 ImageIO .write (newImage , imageType , outputStream );
7674
7775 // Upload new image to S3
78- putObject (s3Client , outputStream , dstBucket , dstKey , imageType );
76+ putObject (s3Client , outputStream , dstBucket , dstKey , imageType , logger );
7977
80- logger .info ("Successfully resized " + srcBucket + "/"
78+ logger .log ("Successfully resized " + srcBucket + "/"
8179 + srcKey + " and uploaded to " + dstBucket + "/" + dstKey );
8280 return "Ok" ;
8381 } catch (IOException e ) {
@@ -94,7 +92,7 @@ private InputStream getObject(S3Client s3Client, String bucket, String key) {
9492 }
9593
9694 private void putObject (S3Client s3Client , ByteArrayOutputStream outputStream ,
97- String bucket , String key , String imageType ) {
95+ String bucket , String key , String imageType , LambdaLogger logger ) {
9896 Map <String , String > metadata = new HashMap <>();
9997 metadata .put ("Content-Length" , Integer .toString (outputStream .size ()));
10098 if (JPG_TYPE .equals (imageType )) {
@@ -110,14 +108,14 @@ private void putObject(S3Client s3Client, ByteArrayOutputStream outputStream,
110108 .build ();
111109
112110 // Uploading to S3 destination bucket
113- logger .info ("Writing to: " + bucket + "/" + key );
111+ logger .log ("Writing to: " + bucket + "/" + key );
114112 try {
115113 s3Client .putObject (putObjectRequest ,
116114 RequestBody .fromBytes (outputStream .toByteArray ()));
117115 }
118116 catch (AwsServiceException e )
119117 {
120- logger .error (e .awsErrorDetails ().errorMessage ());
118+ logger .log (e .awsErrorDetails ().errorMessage ());
121119 System .exit (1 );
122120 }
123121 }
0 commit comments