全部产品
Search
文档中心

Simple Log Service:Kumpulkan log Unity3D

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menggunakan fitur pelacakan web dari Simple Log Service untuk mengumpulkan log Unity3D.

Informasi latar belakang

Unity3D adalah mesin game lintas platform yang dikembangkan oleh Unity Technologies. Mesin ini memungkinkan Anda membuat konten interaktif seperti video game 3D, bangunan VR, dan animasi 3D waktu nyata.

Simple Log Service memungkinkan Anda menggunakan fitur pelacakan web untuk mengumpulkan log Unity3D. Untuk informasi lebih lanjut tentang fitur pelacakan web, lihat Gunakan fitur pelacakan web untuk mengumpulkan log. Dalam topik ini, Unity Debug.Log digunakan sebagai contoh untuk menjelaskan cara mengumpulkan log Unity3D.

Prosedur

  1. Aktifkan fitur pelacakan web. Untuk informasi lebih lanjut, lihat Gunakan fitur pelacakan web untuk mengumpulkan log.

  2. Buat penanganan log Unity3D.

    Di editor Unity, buat file C# bernama LogOutputHandler.cs, tambahkan skrip berikut ke dalam file tersebut, dan modifikasi variabel berikut:

    • project: nama Proyek Simple Log Service yang ingin Anda kelola. Untuk informasi lebih lanjut, lihat Kelola proyek.

    • logstore: nama penyimpanan log yang ingin Anda kelola. Untuk informasi lebih lanjut, lihat Kelola penyimpanan log.

    • serviceAddr: Titik akhir proyek Simple Log Service. Untuk informasi lebih lanjut, lihat Titik akhir.

    using UnityEngine;
    using System.Collections;
    public class LogOutputHandler : MonoBehaviour
    {
        //Daftarkan fungsi HandleLog saat scene dimulai untuk dijalankan pada event debug.log
        public void OnEnable()
        {
            Application.logMessageReceived += HandleLog;
        }
        //Hapus callback ketika objek keluar dari ruang lingkup
        public void OnDisable()
        {
            Application.logMessageReceived -= HandleLog;
        }
        string project = "nama proyek Anda";
        string logstore = "nama logstore Anda";
        string serviceAddr = "alamat http proyek layanan log Anda";
        //Tangkap output debug.log, kirim log ke Loggly
        public void HandleLog(string logString, string stackTrace, LogType type)
        {
            string parameters = "";
            parameters += "Level=" + WWW.EscapeURL(type.ToString());
            parameters += "&";
            parameters += "Message=" + WWW.EscapeURL(logString);
            parameters += "&";
            parameters += "Stack_Trace=" + WWW.EscapeURL(stackTrace);
            parameters += "&";
            //Tambahkan MetaData Pengguna, Game, atau Perangkat apa pun yang akan berguna untuk menemukan masalah nanti
            parameters += "Device_Model=" + WWW.EscapeURL(SystemInfo.deviceModel);
            string url = "http://" + project + "." + serviceAddr + "/logstores/" + logstore + "/track?APIVersion=0.6.0&" + parameters;
            StartCoroutine(SendData(url));
        }
        public IEnumerator SendData(string url)
        {
            WWW sendLog = new WWW(url);
            yield return sendLog;
        }
    }

    Anda dapat menggunakan skrip sebelumnya untuk secara asinkron mengirim log ke Simple Log Service. Anda juga dapat menentukan bidang lain dalam skrip untuk mengumpulkan bidang tersebut.

  3. Hasilkan log Unity3D.

    Buat file bernama LogglyTest.cs, dan tambahkan skrip berikut ke dalam file tersebut:

    using UnityEngine;
    using System.Collections;
    public class LogglyTest : MonoBehaviour {
        void Start () {
            Debug.Log ("Hello world");
        }
    }
  4. Lihat log yang telah dikumpulkan.

    Setelah Anda menjalankan aplikasi Unity3D Anda, log dihasilkan dan dikirim ke Simple Log Service. Anda dapat melihat log tersebut di konsol Simple Log Service.