All Products
Search
Document Center

Simple Log Service:Gunakan Simple Log Service SDK untuk Java untuk menulis log

Last Updated:Jul 06, 2025

Untuk mengunggah log operasional aplikasi, log sistem operasi, dan log pengguna ke Simple Log Service, Anda dapat menggunakan metode PutLogs yang disediakan oleh Simple Log Service SDK untuk Java. Topik ini menjelaskan cara menggunakan Simple Log Service SDK untuk Java untuk menulis log ke Simple Log Service.

Prasyarat

Batasan

  • Mekanisme dasar dari Aliyun Log Java Producer memanggil operasi PutLogs untuk mengunggah log. Ukuran log mentah yang dapat diunggah setiap kali dibatasi. Untuk informasi lebih lanjut, lihat Pembacaan dan penulisan data.

  • Sumber daya dasar Simple Log Service, seperti proyek, penyimpanan log, shard, dan grup mesin, juga memiliki batasan. Untuk informasi lebih lanjut, lihat Sumber daya dasar.

  • Pertama kali Anda menjalankan kode, Anda harus mengaktifkan fitur pengindeksan untuk penyimpanan log Anda di konsol Simple Log Service. Kemudian, tunggu sekitar satu menit sebelum melakukan kueri log.

  • Jika Anda mengkueri log di konsol Simple Log Service dan panjang nilai suatu bidang dalam log yang dikembalikan melebihi batas atas, nilai bidang tersebut akan dipotong, dan bagian yang berlebih tidak akan digunakan untuk analisis. Untuk informasi lebih lanjut, lihat Buat indeks.

Penulisan umum dan penulisan di lokasi tertentu

public PutLogsResponse PutLogs(String project, String logStore,
			String topic, List<LogItem> logItems, String source,
			String shardHash)

Parameter

Parameter

Tipe

Diperlukan

Deskripsi

project

String

Ya

Proyek tujuan.

logStore

String

Ya

Penyimpanan Log tujuan.

topic

String

Tidak

Topik log.

logItems

List

Ya

Log atau beberapa log yang ingin Anda unggah. Anda harus mengunggah log atau beberapa log dalam format LogItem.

source

String

Tidak

Sumber log.

Catatan

Jika Anda meninggalkan parameter ini kosong, alamat IP host tempat produser berada akan digunakan secara otomatis.

shardHash

String

Tidak

ID hash lokasi tempat Anda ingin mengunggah log.

Contoh kode

import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.LogContent;
import com.aliyun.openservices.log.common.LogItem;
import com.aliyun.openservices.log.exception.LogException;

import java.util.ArrayList;
import java.util.List;

public class PutLogsTest {
    public static void main(String[] args) throws LogException {

        /**
         * Dalam contoh ini, ID AccessKey dan rahasia AccessKey diperoleh dari variabel lingkungan. 
         */
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        /**
         * Titik akhir Simple Log Service. Dalam contoh ini, titik akhir Simple Log Service untuk wilayah China (Hangzhou) digunakan. Ganti nilai parameter dengan titik akhir aktual. 
         */
        String host = "cn-hangzhou.log.aliyuncs.com";
        /**
         * Buat klien Simple Log Service. 
         */
        Client client = new Client(host, accessId, accessKey);
        String project = "ali-project-test";
        String logStore = "test-logstore";
        String topic = "";
        String source = "";
        LogContent logContent = new LogContent("message", "2021-05-15 16:43:35 ParameterInvalid 400\n" +
                "com.aliyun.openservices.log.exception.LogException:The body is not valid json string.\n" +
                "at com.aliyun.openservices.log.Client.ErrorCheck(Client.java:2161)\n" +
                "at com.aliyun.openservices.log.Client.SendData(Client.java:2312)\n" +
                "at com.aliyun.openservices.log.Client.PullLogsk(Client.java:1397)\n" +
                "at com.aliyun.openservices.log.Client.SendData(Client.java:2265)\n" +
                "at com.aliyun.openservices.log.Client.GetCursor(Client.java:1123)\n" +
                "at com.aliyun.openservices.log.Client.PullLogs(Client.java:2161)\n" +
                "at com.aliyun.openservices.log.Client.ErrorCheck(Client.java:2426)\n" +
                "at transformEvent.main(transformEvent.java:2559)");
        List<LogItem> logItems = new ArrayList<>();
        for (int i = 0; i < 5; ++i) {
            LogItem logItem = new LogItem();
            logItem.PushBack("language", "android");
            logItem.PushBack("time", String.valueOf(System.currentTimeMillis()));
            logItem.PushBack(logContent);
            logItems.add(logItem);
        }

        client.PutLogs(project, logStore, topic, logItems, source, null);
    }
}

Apa yang harus dilakukan selanjutnya

Referensi

  • Anda dapat menggunakan Simple Log Service SDK untuk Java untuk membuat proyek dan Logstore. Untuk informasi lebih lanjut, lihat Memulai dengan Simple Log Service SDK untuk Java.

  • Anda dapat mengompres log dan mengunggah log ke Simple Log Service secara batch. Untuk informasi lebih lanjut, lihat Gunakan Aliyun Log Java Producer untuk menulis log ke Simple Log Service.

  • Jika respons yang dikembalikan oleh Simple Log Service berisi informasi kesalahan setelah Anda menggunakan Simple Log Service SDK untuk Java, pemanggilan gagal. Anda dapat menganalisis kesalahan berdasarkan kode kesalahan yang dikembalikan ketika pemanggilan API gagal. Untuk informasi lebih lanjut, lihat Kode kesalahan.