すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ロギング (Android SDK)

最終更新日:Nov 30, 2025

Object Storage Service (OSS) にアクセスすると、多数のアクセスログが生成されます。 ロギング機能を使用すると、固定の命名規則に基づいて 1 時間ごとのログファイルを作成し、指定したバケットに保存できます。

注意事項

  • このトピックのサンプルコードを実行する前に、カスタムドメイン名の使用や Security Token Service (STS) などの方法で OSSClient インスタンスを作成する必要があります。 詳細については、「初期化 (Android SDK)」をご参照ください。

説明

API 操作を呼び出してロギングを有効化または無効化した後、ページを更新して変更を確認してください。 タブを切り替えるだけでは、更新された設定は表示されません。

ロギングの有効化

次のコードは、ロギング機能を有効化する方法を示しています。

PutBucketLoggingRequest request = new PutBucketLoggingRequest();
// アクセスロギングを有効にするソースバケットを指定します。
request.setBucketName("yourSourceBucketName");
// アクセスログを保存するターゲットバケットを指定します。
// ターゲットバケットとソースバケットは同じリージョンにある必要があります。 ソースバケットとターゲットバケットは、同じでも異なっていてもかまいません。
request.setTargetBucketName("yourTargetBucketName");
// ログファイルが保存されるフォルダを設定します。
request.setTargetPrefix("<yourTargetPrefix>");

OSSAsyncTask task = oss.asyncPutBucketLogging(request, new OSSCompletedCallback<PutBucketLoggingRequest, PutBucketLoggingResult>() {
    @Override
    public void onSuccess(PutBucketLoggingRequest request, PutBucketLoggingResult result) {
        OSSLog.logInfo("code::"+result.getStatusCode());
    }

    @Override
    public void onFailure(PutBucketLoggingRequest request, ClientException clientException, ServiceException serviceException) {
         OSSLog.logError("error: "+serviceException.getRawMessage());
    }
});
task.waitUntilFinished();

ロギング設定の表示

次のコードは、ロギング設定を表示する方法を示しています。

説明

呼び出しが成功した場合、出力は `testBucket*path` というフォーマットになります。 このフォーマットでは、アスタリスク (*) の前の `testBucket` がバケット名で、アスタリスクの後の `path` がストレージパスです。

GetBucketLoggingRequest request = new GetBucketLoggingRequest();
request.setBucketName("yourSourceBucketName");
OSSAsyncTask task = oss.asyncGetBucketLogging(request, new OSSCompletedCallback<GetBucketLoggingRequest, GetBucketLoggingResult>() {
    @Override
    public void onSuccess(GetBucketLoggingRequest request, GetBucketLoggingResult result) {
        Log.i("i", "info: " + result.getTargetBucketName()+"*"+result.getTargetPrefix());

    }

    @Override
    public void onFailure(GetBucketLoggingRequest request, ClientException clientException, ServiceException serviceException) {
       // リクエストエラー。
              if (clientException != null) {
                  // クライアント例外 (ネットワークエラーなど)。
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // サーバー例外。
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
    }
});
task.waitUntilFinished();

ロギングの無効化

次のコードは、ロギング機能を無効化する方法を示しています。

DeleteBucketLoggingRequest request = new DeleteBucketLoggingRequest();
request.setBucketName("yourSourceBucketName");
OSSAsyncTask task = oss.asyncDeleteBucketLogging(request, new OSSCompletedCallback<DeleteBucketLoggingRequest, DeleteBucketLoggingResult>() {
    @Override
    public void onSuccess(DeleteBucketLoggingRequest request, DeleteBucketLoggingResult result) {
        Log.i("i", "code:"+result.getStatusCode());

    }

    @Override
    public void onFailure(DeleteBucketLoggingRequest request, ClientException clientException, ServiceException serviceException) {
        // リクエストエラー。
              if (clientException != null) {
                  // クライアント例外 (ネットワークエラーなど)。
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // サーバー例外。
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
    }
});

task.waitUntilFinished();
            

関連ドキュメント

  • ロギングの完全なサンプルコードについては、「GitHub の例」をご参照ください。

  • ロギングを有効化する API 操作の詳細については、「PutBucketLogging」をご参照ください。

  • ロギング設定を表示する API 操作の詳細については、「GetBucketLogging」をご参照ください。

  • ロギングを無効化する API 操作の詳細については、「DeleteBucketLogging」をご参照ください。

  • OSSClient インスタンスの初期化方法の詳細については、「Android 向け OSSClient インスタンスの初期化方法」をご参照ください。