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-阿里云