有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于日志管理的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
设置日志管理
为源存储桶开启日志记录
查询日志管理
查询源存储桶的日志配置信息

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API

设置日志管理

功能说明

PUT Bucket logging 用于为源存储桶开启日志记录,将源存储桶的访问日志保存到指定的目标存储桶中。

示例代码

Objective-C
QCloudPutBucketLoggingRequest *request = [QCloudPutBucketLoggingRequest new];

// 说明日志记录配置的状态,如果无子节点信息则意为关闭日志记录
QCloudBucketLoggingStatus *status = [QCloudBucketLoggingStatus new];

// 存储桶 logging 设置的具体信息,主要是目标存储桶
QCloudLoggingEnabled *loggingEnabled = [QCloudLoggingEnabled new];

// 存放日志的目标存储桶,可以是同一个存储桶(但不推荐),或同一账户下、同一地域的存储桶
loggingEnabled.targetBucket = @"examplebucket-1250000000";

// 日志存放在目标存储桶的指定路径
loggingEnabled.targetPrefix = @"mylogs";

status.loggingEnabled = loggingEnabled;
request.bucketLoggingStatus = status;

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
request.bucket = @"examplebucket-1250000000";

[request setFinishBlock:^(id outputObject, NSError *error) {
// outputObject 包含所有的响应 http 头部
NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutBucketLogging:request];
说明
更多完整示例,请前往 GitHub 查看。
Swift
let req = QCloudPutBucketLoggingRequest.init();

// 说明日志记录配置的状态,如果无子节点信息则意为关闭日志记录
let status = QCloudBucketLoggingStatus.init();

// 存储桶 logging 设置的具体信息,主要是目标存储桶
let loggingEnabled = QCloudLoggingEnabled.init();

// 存放日志的目标存储桶,可以是同一个存储桶(但不推荐),或同一账户下、同一地域的存储桶
// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
loggingEnabled.targetBucket = "examplebucket-1250000000";

// 日志存放在目标存储桶的指定路径
loggingEnabled.targetPrefix = "logs/";

status.loggingEnabled = loggingEnabled;
req.bucketLoggingStatus = status;

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
req.bucket = "examplebucket-1250000000";
req.finishBlock = {(result,error) in
if let result = result {
// result 包含响应的 header 信息
} else {
print(error!);
}
}

QCloudCOSXMLService.defaultCOSXML().putBucketLogging(req);
说明
更多完整示例,请前往 GitHub 查看。

查询日志管理

功能说明

GET Bucket logging 用于查询指定存储桶的日志配置信息。

示例代码

Objective-C
QCloudGetBucketLoggingRequest *getReq = [QCloudGetBucketLoggingRequest new];

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
getReq.bucket = @"examplebucket-1250000000";

[getReq setFinishBlock:^(QCloudBucketLoggingStatus * _Nonnull result,
NSError * _Nonnull error) {
// 日志配置信息
QCloudLoggingEnabled *loggingEnabled = result.loggingEnabled;
}];
[[QCloudCOSXMLService defaultCOSXML]GetBucketLogging:getReq];
说明
更多完整示例,请前往 GitHub 查看。
Swift
let req = QCloudGetBucketLoggingRequest.init();

// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
req.bucket = "examplebucket-1250000000";
req.setFinish { (result, error) in
if let result = result {
// 日志配置信息
let enabled = result.loggingEnabled
} else {
print(error!);
}
};
QCloudCOSXMLService.defaultCOSXML().getBucketLogging(req);
说明
更多完整示例,请前往 GitHub 查看。