赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据采集
  6. 采集常见日志
  7. 采集Unity3D日志

采集Unity3D日志

  • 采集常见日志
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

本文介绍如何通过Web Tracking采集Unity3D日志。

背景信息

Unity3D是由Unity Technologies开发的,一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

日志服务支持使用Web Tracking采集Unity3D日志,Web Tracking详情请参见使用Web Tracking采集日志。本文以采集Unity Debug.Log为例,介绍Unity日志的采集。

操作步骤

  1. 开通Web Tracking,详情请参见使用Web Tracking采集日志。

  2. 注册Unity3D LogHandler。

    在Unity editor中创建C#文件LogOutputHandler.cs,输入如下脚本,并根据实际情况修改相关变量,分别为:

    • project:日志服务项目名称。更多信息,请参见管理Project。

    • logstore:日志库名称。更多信息,请参见管理Logstore。

    • 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 = "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;
        }
    }

    提供上述脚本可以异步发送日志到阿里云日志服务中,您还可以添加更多想要采集的字段。

  3. 产生Unity3D日志。

    在工程中创建LogglyTest.cs文件,并输入如下脚本。

    using UnityEngine;
    using System.Collections;
    public class LogglyTest : MonoBehaviour {
        void Start () {
            Debug.Log ("Hello world");
        }
    }
  4. 查看日志。

    运行Unity程序后,即可在日志服务控制台看到已采集的日志。

相关文章

采集Log4j日志 2025-04-22 11:00

使用Log4j2记录和管理Java应用的运行日志后,您可以使用Log4j2 Appender或Logtail将日志采集到日志服务,以便于后续的查询分析。 Log4j概述

采集Python日志 2025-04-22 11:00

本文介绍如何通过Logtail采集Python日志。 背景信息 Python的logging模块提供通用的日志系统,可供第三方模块或者应用使用。logging模块定义了不同的日志级别和记录

采集Node.js日志 2025-04-22 11:00

本文介绍如何使用Logtail采集Node.js日志。 背景信息 log4js是一个Node.js日志管理工具,您可以通过log4js把Node.js日志打印到文件中,并自定义日志格式,便于日志采集和整理。 log4js分为6个输出级

采集WordPress日志 2025-04-22 11:00

本文介绍使用Logtail采集WordPress日志的操作步骤。 背景信息 WordPress是一个以PHP和MySQL为平台的、自由开源的博客软件和内容管理系统,被广泛使用。WordPress日志样例如下所示。

采集Unity3D日志 2025-04-22 11:00

本文介绍如何通过Web Tracking采集Unity3D日志。 背景信息 Unity3D是由Unity Technologies开发的,一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号