A large number of logs are generated when Object Storage Service (OSS) resources are accessed. After you enable and configure logging for a bucket, OSS generates logs every hour in accordance with predefined naming conventions and then stores the logs as objects in a specified bucket.
Enable logging for a bucket
The following code provides an example on how to enable logging for a bucket:
const OSS = require('ali-oss')
const client = new OSS({
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourregion',
// The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in OSS is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// Set yourbucketname to the name of your bucket.
bucket: 'yourbucketname'
});
async function putBucketLogging () {
try {
const result = await client.putBucketLogging('bucket-name', 'logs/');
console.log(result)
} catch (e) {
console.log(e)
}
}
putBucketLogging();
Query the logging configurations of a bucket
The following code provides an example on how to query the logging configurations of a bucket:
const OSS = require('ali-oss')
const client = new OSS({
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourregion',
// The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in OSS is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// Set yourbucketname to the name of your bucket.
bucket: 'yourbucketname'
});
async function getBucketLogging() {
try {
const result = await client.getBucketLogging('bucket-name');
console.log(result);
} catch (e) {
console.log(e);
}
})
getBucketLogging();
Disable logging for a bucket
The following code provides an example on how to disable logging for a bucket:
const OSS = require('ali-oss')
const client = new OSS({
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourregion',
// The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in OSS is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console.
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// Set yourbucketname to the name of your bucket.
bucket: 'yourbucketname'
});
async function deleteBucketLogging () {
try {
const result = await client.deleteBucketLogging('bucket-name');
console.log(result);
} catch (e) {
console.log(e);
}
deleteBucketLogging();
References
- For the complete sample code that is used to configure logging for a bucket, visit GitHub.
- For more information about the API operation that you can call to enable logging for a bucket, see PutBucketLogging.
- For more information about the API operation that you can call to query the logging configurations of a bucket, see GetBucketLogging.
- For more information about the API operation that you can call to disable logging for a bucket, see DeleteBucketLogging.