本文介绍如何通过Web Tracking采集Unity3D日志。
背景信息
Unity3D是由Unity Technologies开发的,一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
日志服务支持使用Web Tracking采集Unity3D日志,Web Tracking详情请参见使用Web Tracking采集日志。本文以采集Unity Debug.Log为例,介绍Unity日志的采集。
本文介绍如何通过Web Tracking采集Unity3D日志。
Unity3D是由Unity Technologies开发的,一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
日志服务支持使用Web Tracking采集Unity3D日志,Web Tracking详情请参见使用Web Tracking采集日志。本文以采集Unity Debug.Log为例,介绍Unity日志的采集。
using UnityEngine;
using System.Collections;
public class LogOutputHandler : MonoBehaviour
{
//Register the HandleLog function on scene start to fire on debug.log events
public void OnEnable()
{
Application.logMessageReceived += HandleLog;
}
//Remove callback when object goes out of scope
public void OnDisable()
{
Application.logMessageReceived -= HandleLog;
}
string project = "your project name";
string logstore = "your logstore name";
string serviceAddr = "http address of your log service project";
//Capture debug.log output, send logs to 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 += "&";
//Add any User, Game, or Device MetaData that would be useful to finding issues later
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;
}
}
提供上述脚本可以异步发送日志到阿里云日志服务中,您还可以添加更多想要采集的字段。
using UnityEngine;
using System.Collections;
public class LogglyTest : MonoBehaviour {
void Start () {
Debug.Log ("Hello world");
}
}
在文档使用中是否遇到以下问题
更多建议
匿名提交