271
群英
unity3d__loghub-采集_用戶指南_日誌服務-阿裏雲
Unity3D是由Unity Technologies開發的一個讓玩家輕鬆創建諸如三維視頻遊戲、建築可視化、實時三維動畫等類型互動內容的多平台的綜合型遊戲開發工具,是一個全麵整合的專業遊戲引擎。日誌服務前不久推出了Web Tracking功能,您可以通過Web Tracking功能非常方便的收集Unity 3D的日誌,下麵以收集Unity Debug.Log為例,講解如何將Unity日誌收集到日誌服務中。
step 1: 開通Web Tracking功能
開通方法請參考另外一篇文章:日誌服務Tracking功能
step 2: 注冊Unity3D LogHandler
在Unity editor中創建c#文件LogOutputHandler.cs,並將下麵的代碼拷貝進去,修改其中的三個成員變量,分別是日誌項目的名稱project,日誌庫的名字logstore,日誌項目的地址serviceAddr,serviceAddr可以從日誌服務官方文檔中找到。
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 = "https://" + 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;
}
}
上麵的代碼可以異步的將日誌發送到阿裏雲日誌服務中,在示例中您可以添加更多想要收集的字段。
step 3:產生Unity日誌。
在工程中創建LogglyTest.cs文件,並加入下麵的代碼:
using UnityEngine;
using System.Collections;
public class LogglyTest : MonoBehaviour {
void Start () {
Debug.Log ("Hello world");
}
}
step 4: 到日誌服務控製台查看。
上述步驟做完之後,運行Unity程序,就可以在日誌服務的控製台看到您發送的日誌了。
總結
上麵的例子中給出了Debug.Log或者類似的比如Debug.LogError、Debug.LogException日誌的收集方法,Unity的組件對象模型以及其提供的程序崩潰API、其他各種LOG API使得可以非常方便的收集客戶端的設備信息,這些我將會在接下來的文章中介紹。
最後更新:2016-09-21 13:52:02
上一篇:
syslog__loghub-采集_用戶指南_日誌服務-阿裏雲
下一篇:
消費日誌__loghub-消費_用戶指南_日誌服務-阿裏雲
GetBucketLocation__關於Bucket的操作_API 參考_對象存儲 OSS-阿裏雲
錄製測試腳本__腳本開發_Lite用戶使用手冊_性能測試-阿裏雲
查詢流量數據__資源監控接口_API 手冊_CDN-阿裏雲
查詢媒體信息作業__媒體信息接口_API使用手冊_媒體轉碼-阿裏雲
設置解析記錄狀態__解析管理接口_API文檔_雲解析-阿裏雲
查看當前實例數據庫參數運行列表__參數管理_API 參考_雲數據庫 RDS 版-阿裏雲
全局唯一數字序列使用__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
流程介紹__API快速入門_快速入門_彈性伸縮-阿裏雲
刪除實例__實例相關接口_API 參考_雲服務器 ECS-阿裏雲
公眾趨勢預測__阿裏雲ET介紹-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲