全部产品
Search
文档中心

Object Storage Service:Penyimpanan log (Android SDK)

更新时间:Nov 30, 2025

Mengakses Object Storage Service (OSS) menghasilkan banyak access log. Anda dapat menggunakan fitur penyimpanan log untuk membuat file log per jam berdasarkan konvensi penamaan tetap dan menyimpannya ke bucket tertentu.

Usage notes

  • Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization (Android SDK).

Catatan

Setelah memanggil operasi API untuk mengaktifkan atau menonaktifkan penyimpanan log, refresh halaman untuk melihat perubahan tersebut. Konfigurasi yang diperbarui tidak akan muncul jika Anda hanya berpindah tab.

Aktifkan log storage

Kode berikut menunjukkan cara mengaktifkan fitur penyimpanan log.

PutBucketLoggingRequest request = new PutBucketLoggingRequest();
// Tentukan bucket sumber tempat logging akses diaktifkan.
request.setBucketName("yourSourceBucketName");
// Tentukan bucket tujuan untuk menyimpan access log.
// Bucket tujuan dan bucket sumber harus berada di wilayah yang sama. Bucket sumber dan tujuan bisa sama atau berbeda.
request.setTargetBucketName("yourTargetBucketName");
// Atur folder tempat file log disimpan.
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();

Lihat konfigurasi log storage

Kode berikut menunjukkan cara melihat konfigurasi penyimpanan log.

Catatan

Jika pemanggilan berhasil, output berada dalam format `testBucket*path`. Dalam format ini, `testBucket` sebelum tanda bintang (*) adalah nama bucket, dan `path` setelah tanda bintang adalah jalur penyimpanan.

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) {
       // Terjadi error pada permintaan.
              if (clientException != null) {
                  // Exception pada client, seperti error jaringan.
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // Exception pada server.
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
    }
});
task.waitUntilFinished();

Nonaktifkan log storage

Kode berikut menunjukkan cara menonaktifkan fitur penyimpanan log.

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) {
        // Terjadi error pada permintaan.
              if (clientException != null) {
                  // Exception pada client, seperti error jaringan.
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // Exception pada server.
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
    }
});

task.waitUntilFinished();
            

Referensi