IoT Platform memungkinkan perangkat melaporkan log lokal ke cloud. Anda dapat menanyakan log perangkat dan memecahkan masalah melalui konsol.
- Perangkat yang menggunakan Link SDK berikut dapat melaporkan log lokal ke IoT Platform. Anda juga dapat mengembangkan SDK sendiri untuk mendukung fitur pelaporan log lokal.
- Untuk melaporkan log perangkat, buka halaman Device Details perangkat dan aktifkan sakelar Device local log reporting.
Untuk informasi lebih lanjut tentang cara menanyakan log perangkat lokal, lihat Log Perangkat Lokal.
Perangkat meminta konfigurasi log dari IoT Platform
Topik-topik berikut digunakan ketika perangkat mengirim permintaan ke IoT Platform dan IoT Platform mengirim respons ke perangkat:
- Topik permintaan:
/sys/${productKey}/${deviceName}/thing/config/log/get - Topik respons:
/sys/${productKey}/${deviceName}/thing/config/log/get_reply
Contoh permintaan dalam format Alink JSON:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" : {
"configScope":"device",
"getType":"content"
},
"method":"thing.config.log.get"
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| version | String | Versi protokol. Nilai valid: 1.0. |
sys | Objek | Parameter untuk fitur tambahan. Nilainya berisi bidang untuk setiap fitur. Catatan Jika tidak ada fitur tambahan yang dikonfigurasikan saat Anda menggunakan SDK perangkat untuk mengembangkan fitur perangkat, parameter ini tidak tersedia. Fitur tambahan menggunakan konfigurasi default. |
ack | Integer | Bidang fitur tambahan dalam parameter sys. Bidang ini menentukan apakah IoT Platform mengembalikan data respons untuk permintaan pendaftaran. Nilai valid:
Penting Untuk informasi lebih lanjut tentang parameter, lihat Contoh penggunaan model TSL. Jika fitur tidak dikonfigurasikan, parameter ini tidak tersedia. Secara default, IoT Platform mengembalikan data respons untuk permintaan pendaftaran. |
| configScope | String | Cakupan konfigurasi log. IoT Platform hanya mendukung konfigurasi log tingkat perangkat. Nilai default: device. |
| getType | String | Format dalam konfigurasi dikembalikan. Nilai default: content. Secara default, isi konfigurasi log berukuran kecil dan langsung dikembalikan dalam format teks. |
| method | String | Metode permintaan. Nilai valid: thing.config.log.get. |
Contoh respons dalam format Alink JSON:
{
"id":"123",
"version":"1.0",
"code":200,
"data" :{
"getType":"content",
"content":{
"mode":0
}
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| version | String | Versi protokol. Nilai valid: 1.0. |
| code | Integer | Kode status HTTP dalam respons. Jika 200 dikembalikan, permintaan berhasil. Jika kode status lain dikembalikan, permintaan gagal. Untuk informasi lebih lanjut tentang kode status HTTP 6717 dan 6718, lihat tabel berikut. Untuk informasi lebih lanjut tentang kode status HTTP lainnya, lihat Kode umum pada perangkat. |
| data | Objek | Data yang dikembalikan oleh IoT Platform. |
| getType | String | Format dalam konfigurasi dikembalikan. Nilai default: content. Secara default, isi konfigurasi log berukuran kecil dan langsung dikembalikan dalam format teks. |
| content | String | Isi konfigurasi log dalam format teks. |
| mode | Integer | Mode yang digunakan untuk melaporkan log perangkat. Nilai 0 menunjukkan bahwa SDK perangkat tidak digunakan untuk melaporkan log. Nilai 1 menunjukkan bahwa SDK perangkat digunakan untuk melaporkan log. |
| Kode status HTTP | Penyebab | Pemecahan Masalah |
| 6717 | Parameter permintaan getType tidak valid. Untuk melaporkan log perangkat, Anda harus menetapkan parameter ini ke content. | Masuk ke Konsol IoT Platform. Dalam panel navigasi di sebelah kiri, pilih . Pada tab Device local log, periksa nilai parameter getType. Atau, periksa nilai parameter dalam log perangkat lokal. |
| 6718 | Parameter permintaan configScope tidak valid. Untuk melaporkan log perangkat, Anda harus menetapkan parameter ini ke device. | Masuk ke Konsol IoT Platform. Dalam panel navigasi di sebelah kiri, pilih . Pada tab Device local log, periksa nilai parameter configScope. Atau, periksa nilai parameter dalam log perangkat lokal. |
Perangkat menerima konfigurasi log dari IoT Platform
Topik berikut digunakan ketika IoT Platform mengirim permintaan ke perangkat dan perangkat mengirim respons ke IoT Platform:
Topik: /sys/${productKey}/${deviceName}/thing/config/log/push.
Data konfigurasi dikirim dalam format Alink JSON:
{
"id":"123",
"version":"1.0",
"params" :{
"getType":"content",
"content":{
"mode":0
}
}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| version | String | Versi protokol. Nilai valid: 1.0. |
| getType | String | Format dalam konfigurasi dikembalikan. Nilai default: content. Secara default, isi konfigurasi log berukuran kecil dan langsung dikembalikan dalam format teks. |
| content | String | Isi konfigurasi log dalam format teks. |
| mode | Integer | Mode yang digunakan untuk melaporkan log perangkat. Nilai 0 menunjukkan bahwa SDK perangkat tidak digunakan untuk melaporkan log. Nilai 1 menunjukkan bahwa SDK perangkat digunakan untuk melaporkan log. |
Perangkat melaporkan log
Topik-topik berikut digunakan ketika perangkat mengirim permintaan ke IoT Platform dan IoT Platform mengirim respons ke perangkat:
- Topik permintaan:
/sys/${productKey}/${deviceName}/thing/log/post - Topik respons:
/sys/${productKey}/${deviceName}/thing/log/post_reply
Contoh permintaan dalam format Alink JSON:
{
"id" : "123",
"version":"1.0",
"sys":{
"ack":0
},
"params" :[{
"utcTime": "2020-03-06T15:15:27.464+0800",
"logLevel": "ERROR",
"module": "ModuleA",
"code" :"4103",
"traceContext": "123456",
"logContent" : "beberapa konten log"
}],
"method" : "thing.log.post"
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| version | String | Versi protokol. Nilai valid: 1.0. |
sys | Objek | Parameter untuk fitur tambahan. Nilainya berisi bidang untuk setiap fitur. Catatan Jika tidak ada fitur tambahan yang dikonfigurasikan saat Anda menggunakan SDK perangkat untuk mengembangkan fitur perangkat, parameter ini tidak tersedia. Fitur tambahan menggunakan konfigurasi default. |
ack | Integer | Bidang fitur tambahan dalam parameter sys. Bidang ini menentukan apakah IoT Platform mengembalikan data respons untuk permintaan pendaftaran. Nilai valid:
Penting Untuk informasi lebih lanjut tentang parameter, lihat Contoh penggunaan model TSL. Jika fitur tidak dikonfigurasikan, parameter ini tidak tersedia. Secara default, IoT Platform mengembalikan data respons untuk permintaan pendaftaran. |
| params | Daftar | Parameter permintaan. Parameter params dapat berisi hingga 40 elemen dalam array. |
| utcTime | String | Waktu ketika perangkat mengumpulkan log. Waktu dalam UTC dan mencakup zona waktu. Unit: milidetik. Format data: yyyy-MM-dd'T'HH:mm:ss.SSSZ. Anda dapat menggunakan format data lain. Namun, kami sarankan Anda menggunakan format data ini untuk mempermudah pemecahan masalah. |
| logLevel | String | Tingkat log. Anda dapat menggunakan tingkat log default atau menyesuaikan tingkat log. Tingkat log default berikut terdaftar berdasarkan tingkat keparahan dari tinggi ke rendah:
|
| module | String | Nama modul.
|
| code | String | Kode status HTTP dalam respons. Kode status HTTP mungkin dihasilkan oleh SDK perangkat atau disesuaikan oleh pengguna. Untuk informasi lebih lanjut tentang kode status yang mungkin dikembalikan jika perangkat menggunakan SDK untuk Android, lihat Kode kesalahan. Untuk informasi lebih lanjut tentang kode status yang mungkin dikembalikan jika perangkat menggunakan SDK untuk C, lihat Kode kesalahan umum. |
| traceContext | String | Opsional. Konten yang akan dilacak dalam konteks. Untuk perangkat, atur parameter ini ke nilai parameter id dalam pesan Alink. Untuk aplikasi, atur parameter ini ke nilai parameter TraceId. |
| logContent | String | Isi log. |
| method | String | Metode permintaan. Nilai valid: thing.log.post. |
Contoh respons dalam format Alink JSON:
{
"id" : "123",
"code":200,
"data" : {}
}| Parameter | Tipe | Deskripsi |
| id | String | ID pesan. Nilai valid: 0 hingga 4294967295. Setiap ID pesan harus unik untuk perangkat. |
| code | Integer | Kode status HTTP dalam respons. Jika 200 dikembalikan, permintaan berhasil. Jika kode status lain dikembalikan, permintaan gagal. Untuk informasi lebih lanjut, lihat Kode umum pada perangkat. |
| data | Objek | Data yang dikembalikan oleh IoT Platform. Dalam respons terhadap permintaan untuk melaporkan log, tidak ada data yang dikembalikan. |