日志服务接入方式之Unity 3D篇
Unity3D是由Unity Technologies開發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎。
日志服務(wù)前不久推出了Web Tracking功能,您可以通過Web Tracking功能非常方便的收集Unity 3D的日志,下面以收集Unity Debug.Log為例,講解如何將Unity日志收集到日志服務(wù)中。
step 1: 開通Web Tracking功能。
開通方法請參考另外一篇文章:日志服務(wù)Tracking功能
step 2: 注冊Unity3D LogHandler。
在Unity editor中創(chuàng)建c#文件LogOutputHandler.cs,并將下面的代碼拷貝進(jìn)去,修改其中的三個(gè)成員變量,分別是日志項(xiàng)目的名稱project,日志庫的名字logstore,日志項(xiàng)目的地址serviceAddr,serviceAddr可以從日志服務(wù)官方文檔中找到。
using UnityEngine; using System.Collections;public class LogOutputHandler : MonoBehaviour {//Register the HandleLog function on scene start to fire on debug.log eventspublic void OnEnable(){Application.logMessageReceived += HandleLog;}//Remove callback when object goes out of scopepublic 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 Logglypublic 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 laterparameters += "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;} }上面的代碼可以異步的將日志發(fā)送到阿里云日志服務(wù)中,在示例中您可以添加更多想要收集的字段。
step 3:產(chǎn)生Unity日志。
在工程中創(chuàng)建LogglyTest.cs文件,并加入下面的代碼:
using UnityEngine; using System.Collections;public class LogglyTest : MonoBehaviour {void Start () {Debug.Log ("Hello world");} }step 4: 到日志服務(wù)控制臺查看。
上述步驟做完之后,運(yùn)行Unity程序,就可以在日志服務(wù)的控制臺看到您發(fā)送的日志了。
總結(jié)
上面的例子中給出了Debug.Log或者類似的比如Debug.LogError、Debug.LogException日志的收集方法,Unity的組件對象模型以及其提供的程序崩潰API、其他各種LOG API使得可以非常方便的收集客戶端的設(shè)備信息,這些我將會(huì)在接下來的文章中介紹。
總結(jié)
以上是生活随笔為你收集整理的日志服务接入方式之Unity 3D篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Huffman(哈夫曼)编码--又称最佳
- 下一篇: springMVC纯java代码配置(一