Unggah log aplikasi, sistem operasi, atau pengguna ke Simple Log Service dengan memanggil metode PutLogs dalam Simple Log Service Java SDK.
Prasyarat
Simple Log Service telah diaktifkan. Untuk informasi selengkapnya, lihat Activate Simple Log Service.
Simple Log Service SDK untuk Java telah diinisialisasi. Untuk informasi selengkapnya, lihat Initialize Simple Log Service SDK for Java.
Catatan penggunaan
-
aliyun-log-producer memanggil operasi PutLogs untuk mengunggah log. Batas ukuran log mentah berlaku per permintaan. Untuk informasi selengkapnya, lihat Data read and write.
-
Sumber daya SLS — proyek, Logstore, shard, LogtailConfig, kelompok mesin, ukuran LogItem, panjang LogItem (Key), dan panjang LogItem (Value) — memiliki batasan tertentu. Untuk informasi selengkapnya, lihat Basic resource limits.
-
Setelah kode dijalankan pertama kali, aktifkan pengindeksan Logstore di Konsol SLS dan tunggu satu menit sebelum menjalankan kueri.
-
Saat melakukan kueri log di Konsol, nilai bidang yang melebihi panjang maksimum akan dipotong dan tidak termasuk dalam analisis. Untuk informasi selengkapnya, lihat Create indexes.
Penulisan umum dan penulisan ke lokasi tertentu
public PutLogsResponse PutLogs(String project, String logStore,
String topic, List<LogItem> logItems, String source,
String shardHash)
Parameter
|
Parameter |
Type |
Wajib |
Deskripsi |
|
project |
String |
Ya |
Proyek tujuan |
|
logStore |
String |
Ya |
Logstore tujuan. |
|
topic |
String |
Tidak |
Topik log. |
|
logItems |
List |
Ya |
Log atau daftar log yang akan dikirim. Log harus dalam format LogItem. |
|
source |
String |
Tidak |
Identifikasi sumber log. Catatan
Jika Anda mengosongkan parameter ini atau tidak menentukannya, alamat IP host tempat produsen berada akan digunakan. |
|
shardHash |
String |
Tidak |
ID hash shard tempat Anda ingin menulis log. |
Kode contoh
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 {
/**
* Pada 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. Pada contoh ini, titik akhir untuk wilayah China (Hangzhou) digunakan. Ganti nilai ini dengan titik akhir yang sebenarnya.
*/
String host = "cn-hangzhou.log.aliyuncs.com";
/**
* Buat klien Simple Log Service.
*/
Client client = new Client(host, accessId, accessKey);
String project = "ali-peoject-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);
}
}
Langkah selanjutnya
-
Kueri log dengan Java SDK. Untuk informasi selengkapnya, lihat Use the GetLogs operation to query logs.
-
Kueri log dengan API. Untuk informasi selengkapnya, lihat GetLogsV2.
-
Kueri log di Konsol Simple Log Service. Untuk informasi selengkapnya, lihat Quick start for log query and analysis.
Referensi
-
Untuk membuat proyek dan Logstore dengan Java SDK, lihat Quick start for the Java SDK.
-
Untuk mengompresi dan mengunggah log secara batch ke Simple Log Service, lihat Use Aliyun Log Java Producer to write log data.
-
Jika server mengembalikan error, lihat API error codes untuk troubleshooting.