From 2d84b3c668d5e1cf8c5ea04f7e1c03bfbcd1c60e Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Wed, 23 Jul 2025 21:03:09 +0800 Subject: [PATCH] feat: add debug logging to CosImageUploader --- .../java/com/openisle/service/CosImageUploader.java | 12 +++++++++++- src/main/resources/application.properties | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/openisle/service/CosImageUploader.java b/src/main/java/com/openisle/service/CosImageUploader.java index 9e5d28375..401de5225 100644 --- a/src/main/java/com/openisle/service/CosImageUploader.java +++ b/src/main/java/com/openisle/service/CosImageUploader.java @@ -10,6 +10,8 @@ import com.qcloud.cos.region.Region; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.concurrent.CustomizableThreadFactory; import org.springframework.stereotype.Service; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.ByteArrayInputStream; import java.util.UUID; @@ -26,6 +28,7 @@ public class CosImageUploader extends ImageUploader { private final COSClient cosClient; private final String bucketName; private final String baseUrl; + private static final Logger logger = LoggerFactory.getLogger(CosImageUploader.class); private final ExecutorService executor = Executors.newFixedThreadPool(2, new CustomizableThreadFactory("cos-upload-")); @@ -41,6 +44,7 @@ public class CosImageUploader extends ImageUploader { this.cosClient = new COSClient(cred, config); this.bucketName = bucketName; this.baseUrl = baseUrl; + logger.debug("COS client initialized for region {} with bucket {}", region, bucketName); } // for tests @@ -48,17 +52,20 @@ public class CosImageUploader extends ImageUploader { this.cosClient = cosClient; this.bucketName = bucketName; this.baseUrl = baseUrl; + logger.debug("COS client provided directly with bucket {}", bucketName); } @Override public CompletableFuture upload(byte[] data, String filename) { return CompletableFuture.supplyAsync(() -> { + logger.debug("Uploading {} bytes as {}", data.length, filename); String ext = ""; int dot = filename.lastIndexOf('.'); if (dot != -1) { ext = filename.substring(dot); } String randomName = UUID.randomUUID().toString().replace("-", "") + ext; + logger.debug("Generated object key {}", randomName); ObjectMetadata meta = new ObjectMetadata(); meta.setContentLength(data.length); @@ -67,8 +74,11 @@ public class CosImageUploader extends ImageUploader { randomName, new ByteArrayInputStream(data), meta); + logger.debug("Sending PutObject request to bucket {}", bucketName); cosClient.putObject(req); - return baseUrl + "/" + randomName; + String url = baseUrl + "/" + randomName; + logger.debug("Upload successful, accessible at {}", url); + return url; }, executor); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index bc0db3d09..706e9c44e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,6 @@ # for mysql logging.level.root=${LOG_LEVEL:INFO} +logging.level.com.openisle.service.CosImageUploader=DEBUG spring.datasource.url=${MYSQL_URL:jdbc:mysql://localhost:3306/openisle} spring.datasource.username=${MYSQL_USER:root} spring.datasource.password=${MYSQL_PASSWORD:password}