diff --git a/build.gradle b/build.gradle index 7b5c5d8..b9c13f3 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,10 @@ dependencies { compileOnly 'run.halo.app:api' implementation platform('software.amazon.awssdk:bom:2.19.8') - implementation 'software.amazon.awssdk:s3' + implementation ('software.amazon.awssdk:s3') { + exclude group: 'org.slf4j' + exclude group: 'commons-logging' + } testImplementation 'run.halo.app:api' testImplementation 'org.springframework.boot:spring-boot-starter-test' diff --git a/src/main/java/run/halo/s3os/S3OsAttachmentHandler.java b/src/main/java/run/halo/s3os/S3OsAttachmentHandler.java index 648565d..9be34e4 100644 --- a/src/main/java/run/halo/s3os/S3OsAttachmentHandler.java +++ b/src/main/java/run/halo/s3os/S3OsAttachmentHandler.java @@ -91,8 +91,14 @@ public class S3OsAttachmentHandler implements AttachmentHandler { return Mono.just(deleteContext).filter(context -> this.shouldHandle(context.policy())) .flatMap(context -> { var objectKey = getObjectKey(context.attachment()); - if (objectKey == null || MetadataUtil.nullSafeAnnotations(context.attachment()) + if (objectKey == null) { + log.warn( + "Cannot obtain object key from attachment {}, skip deleting object from S3.", + context.attachment().getMetadata().getName()); + return Mono.just(context); + } else if (MetadataUtil.nullSafeAnnotations(context.attachment()) .containsKey(SKIP_REMOTE_DELETION_ANNO)) { + log.info("Skip deleting object {} from S3.", objectKey); return Mono.just(context); } var properties = getProperties(deleteContext.configMap()); @@ -216,8 +222,7 @@ public class S3OsAttachmentHandler implements AttachmentHandler { var attachment = new Attachment(); attachment.setMetadata(metadata); attachment.setSpec(spec); - log.info("Upload object {} to bucket {} successfully", objectDetail.uploadState.objectKey, - properties.getBucket()); + log.info("Built attachment {} successfully", objectDetail.uploadState.objectKey); return attachment; } @@ -368,6 +373,8 @@ public class S3OsAttachmentHandler implements AttachmentHandler { // build object detail .map((response) -> { checkResult(response, "getMetadata"); + log.info("Uploaded object {} to bucket {} successfully", + uploadState.objectKey, properties.getBucket()); return new ObjectDetail(uploadState, response); }) // close client