开发者指南

API 文档

SDK 文档

日志管理

最近更新时间:2020-07-17 18:17:11

简介

本文档提供关于日志管理的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket logging 设置日志管理 为源存储桶开启日志记录
GET Bucket logging 查询日志管理 查询源存储桶的日志配置信息

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
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
loggingEnabled.targetBucket = "examplebucket-1250000000";

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

// 存储桶名称,格式为 BucketName-APPID
req.bucket = "examplebucket-1250000000";
req.finishBlock = {(result,error) in
    if error != nil{
        print(error!);
    }else{
        print( result!);
    }
}

QCloudCOSXMLService.defaultCOSXML().putBucketLogging(req);
说明:

更多完整示例,请前往 GitHub 查看。

查询日志管理

功能说明

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

示例代码

Objective-C

QCloudGetBucketLoggingRequest *getReq = [QCloudGetBucketLoggingRequest new];

// 存储桶名称,格式为 BucketName-APPID
getReq.bucket = @"examplebucket-1250000000";

[getReq setFinishBlock:^(QCloudBucketLoggingStatus * _Nonnull result,
                         NSError * _Nonnull error) {
    // result 中包含日志状态
}];
[[QCloudCOSXMLService defaultCOSXML]GetBucketLogging:getReq];
说明:

更多完整示例,请前往 GitHub 查看。

Swift

let req = QCloudGetBucketLoggingRequest.init();

// 存储桶名称,格式为 BucketName-APPID
req.bucket = "examplebucket-1250000000";
req.setFinish { (result, error) in
    if error != nil{
        print(error!);
    }else{
        print( result!);
    }
};
QCloudCOSXMLService.defaultCOSXML().getBucketLogging(req);
说明:

更多完整示例,请前往 GitHub 查看。

目录