全部产品
对象存储 OSS

设置访问日志

更新时间:2017-06-07 13:26:11   分享:   

OSS允许用户对Bucket设置访问日志记录,设置之后对于Bucket的访问会被记录成日志,日志存储在OSS上由用户指定的Bucket中,文件的格式为:

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

其中TargetPrefix由用户指定。日志规则由以下3项组成:

  • enable,是否开启
  • target_bucket,存放日志文件的Bucket
  • target_prefix,日志文件的前缀

更多关于访问日志的内容请参考 Bucket访问日志

提示:

  • 以下场景的完整代码参见:GitHub

开启Bucket日志

您可以通过OssClient::putBucketLogging开启存储空间的访问日志:

  1. <?php
  2. /**
  3. * 设置bucket的Logging配置
  4. *
  5. * @param OssClient $ossClient OSSClient实例
  6. * @param string $bucket 存储空间名称
  7. * @return null
  8. */
  9. function putBucketLogging($ossClient, $bucket)
  10. {
  11. $option = array();
  12. //访问日志存放在本bucket下
  13. $targetBucket = $bucket;
  14. $targetPrefix = "access.log";
  15. try {
  16. $ossClient->putBucketLogging($bucket, $targetBucket, $targetPrefix, $option);
  17. } catch (OssException $e) {
  18. printf(__FUNCTION__ . ": FAILED\n");
  19. printf($e->getMessage() . "\n");
  20. return;
  21. }
  22. print(__FUNCTION__ . ": OK" . "\n");
  23. }

查看Bucket日志设置

您可以通过OssClient::getBucketLogging查看存储空间的日志配置:

  1. <?php
  2. /**
  3. * 获取bucket的Logging配置
  4. *
  5. * @param OssClient $ossClient OSSClient实例
  6. * @param string $bucket 存储空间名称
  7. * @return null
  8. */
  9. function getBucketLogging($ossClient, $bucket)
  10. {
  11. $loggingConfig = null;
  12. $options = array();
  13. try {
  14. $loggingConfig = $ossClient->getBucketLogging($bucket, $options);
  15. } catch (OssException $e) {
  16. printf(__FUNCTION__ . ": FAILED\n");
  17. printf($e->getMessage() . "\n");
  18. return;
  19. }
  20. print(__FUNCTION__ . ": OK" . "\n");
  21. print($loggingConfig->serializeToXml() . "\n");
  22. }

关闭Bucket日志

您可以通过OssClient::deleteBucketLogging删除存储空间的日志配置:

  1. <?php
  2. /**
  3. * 删除bucket的Logging配置
  4. *
  5. * @param OssClient $ossClient OSSClient实例
  6. * @param string $bucket 存储空间名称
  7. * @return null
  8. */
  9. function deleteBucketLogging($ossClient, $bucket)
  10. {
  11. try {
  12. $ossClient->deleteBucketLogging($bucket);
  13. } catch (OssException $e) {
  14. printf(__FUNCTION__ . ": FAILED\n");
  15. printf($e->getMessage() . "\n");
  16. return;
  17. }
  18. print(__FUNCTION__ . ": OK" . "\n");
  19. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?