全部产品
阿里云办公

设置访问日志

更新时间:2018-07-20 18:45:57

您可以开启存储空间的访问日志记录功能,开启后对于此存储空间的访问会被记录成日志文件,保存在指定的存储空间中。日志文件的格式为:

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

更多关于访问日志的介绍,请参见开发指南中的设置访问日志记录。访问日志的完整代码请参见GitHub

开启访问日志记录

以下代码用于开启存储空间的访问日志记录:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州为例,其它Region请按实际情况填写。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $option = array();
  16. // 设置存放日志文件的存储空间。
  17. $targetBucket = "<yourBucketName>";
  18. $targetPrefix = "access.log";
  19. try {
  20. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  21. // 开启访问日志记录。
  22. $ossClient->putBucketLogging($bucket, $targetBucket, $targetPrefix, $option);
  23. } catch (OssException $e) {
  24. printf(__FUNCTION__ . ": FAILED\n");
  25. printf($e->getMessage() . "\n");
  26. return;
  27. }
  28. print(__FUNCTION__ . ": OK" . "\n");

查看访问日志设置

以下代码用于查看存储空间的访问日志设置:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州为例,其它Region请按实际情况填写。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $bucket= "<yourBucketName>";
  16. $loggingConfig = null;
  17. $options = array();
  18. try {
  19. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  20. // 查看访问日志设置。
  21. $loggingConfig = $ossClient->getBucketLogging($bucket, $options);
  22. } catch (OssException $e) {
  23. printf(__FUNCTION__ . ": FAILED\n");
  24. printf($e->getMessage() . "\n");
  25. return;
  26. }
  27. print(__FUNCTION__ . ": OK" . "\n");
  28. print($loggingConfig->serializeToXml() . "\n");

关闭访问日志记录

以下代码用于关闭存储空间的访问日志记录:

  1. <?php
  2. if (is_file(__DIR__ . '/../autoload.php')) {
  3. require_once __DIR__ . '/../autoload.php';
  4. }
  5. if (is_file(__DIR__ . '/../vendor/autoload.php')) {
  6. require_once __DIR__ . '/../vendor/autoload.php';
  7. }
  8. use OSS\OssClient;
  9. use OSS\Core\OssException;
  10. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  11. $accessKeyId = "<yourAccessKeyId>";
  12. $accessKeySecret = "<yourAccessKeySecret>";
  13. // Endpoint以杭州为例,其它Region请按实际情况填写。
  14. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  15. $bucket= "<yourBucketName>";
  16. try {
  17. $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
  18. // 关闭访问日志记录。
  19. $ossClient->deleteBucketLogging($bucket);
  20. } catch (OssException $e) {
  21. printf(__FUNCTION__ . ": FAILED\n");
  22. printf($e->getMessage() . "\n");
  23. return;
  24. }
  25. print(__FUNCTION__ . ": OK" . "\n");
本文导读目录