Log Management

Last updated: 2023-09-13 11:10:59

Feature Overview

This document provides an overview of APIs and SDK code samples related to logging.
API
Operation
Description
Setting log management
Enables logging for a source bucket
Querying log management
Queries the logging configuration of a source bucket

SDK API References

For the parameters and method descriptions of all the APIs in the SDK, see Api Documentation.

Setting log management

Note

This API is used to enable logging for a source bucket and store the access logs in a specified destination bucket.

Sample code

String srcBucket = "examplebucket-1250000000"; //Format: BucketName-APPID
String targetBucket = "examplebucket-1250000000"; //Format: BucketName-APPID
PutBucketLoggingRequest putBucketLoggingRequest =
new PutBucketLoggingRequest(srcBucket);
// Destination bucket
putBucketLoggingRequest.setTargetBucket(targetBucket);
// Specified location in which to store the logs
putBucketLoggingRequest.setTargetPrefix("dir/");

cosXmlService.putBucketLoggingAsync(putBucketLoggingRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
PutBucketLoggingResult putBucketLoggingResult =
(PutBucketLoggingResult) result;
}

// If you are using Kotlin to call the API, please note that the exception in the callback method is nullable; otherwise, the onFail method will not be called, i.e.:
// Is the type of clientException CosXmlClientException? Is the type of serviceException CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
Note
For the complete sample, go to GitHub.

Querying log management

Note

This API is used to query the logging configuration of a specified bucket.

Sample code

// Bucket name in the format of BucketName-APPID (APPID is required), which can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket.
String bucket = "examplebucket-1250000000";
GetBucketLoggingRequest getBucketLoggingRequest =
new GetBucketLoggingRequest(bucket);

cosXmlService.getBucketLoggingAsync(getBucketLoggingRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
GetBucketLoggingResult getBucketLoggingResult =
(GetBucketLoggingResult) result;
}

// If you are using Kotlin to call the API, please note that the exception in the callback method is nullable; otherwise, the onFail method will not be called, i.e.:
// Is the type of clientException CosXmlClientException? Is the type of serviceException CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
Note
For the complete sample, go to GitHub.