开发者社区> 问答> 正文

.NET-SDK之如何实现设置访问日志?


访问日志简介


用户可以通过设置Bucket的访问日志配置,把对该Bucket的访问日志保存在指定的Bucket中,以供后续的分析。访问日志以文件的形式存在于指定的Bucket中,每小时会生成一个文本文件。文件名的格式为:

  1. <TargetPrefix><SourceBucket>-YYYY-mm-DD-HH-MM-SS-UniqueString

其中TargetPrefix由用户在配置中指定。
日志配置由如下部分组成:
  • TargetBucket:目标Bucket名,生成的日志文件会保存到这个Bucket中。
  • TargetPrefix:日志文件名前缀,可以为空。

更多关于访问日志文件名格式,日志格式请参考 Bucket访问日志

开启日志功能


下面的代码开启日志功能,且把日志保存在 TargetBucket 中,日志文件名前缀为 logging- :
  1. using Aliyun.OSS;
  2. // 初始化OssClient
  3. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  4. // 开启访问日志
  5. var request = new SetBucketLoggingRequest(bucketName, targetBucketName, "logging-");
  6. client.SetBucketLogging(request);

提示:
  • bucketName 和 targetBucketName 可以为相同Bucket
  • 完整代码请参考:GitHub


查看日志设置

  1. using Aliyun.OSS;
  2. // 初始化OssClient
  3. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  4. var result = client.GetBucketLogging(bucketName);
  5. Console.WriteLine("Get bucket:{0} Logging, prefix:{1}, target bucket:{2}",
  6.                   bucketName, result.TargetPrefix, result.TargetBucket);

提示:
  • 完整代码请参考:GitHub


关闭日志功能

  1. using Aliyun.OSS;
  2. // 初始化OssClient
  3. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  4. client.DeleteBucketLogging(bucketName);

提示:
  • 日志功能关闭后,已经生成的日志文件不会删除
  • 完整代码请参考:GitHub

展开
收起
青衫无名 2017-10-18 15:41:37 2066 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载