Files

46 lines
1.4 KiB
C#

using System.Collections.Generic;
using SGModule.NetKit;
using RedHotRoast;
using UnityEngine;
public class ErrorLogger : MonoBehaviour
{
// 用于存储报错信息的列表
private readonly List<string> errorLogs = new();
private void OnEnable()
{
// 注册事件处理函数
Application.logMessageReceived += HandleLog;
}
private void OnDisable()
{
// 注销事件处理函数
Application.logMessageReceived -= HandleLog;
}
// 事件处理函数
private void HandleLog(string logString, string stackTrace, LogType type)
{
// 只处理错误和异常类型的日志
if (type == LogType.Error || type == LogType.Exception)
{
// 将报错信息和堆栈跟踪添加到列表中
errorLogs.Add(logString);
errorLogs.Add(stackTrace);
// 这里可以添加代码将报错信息发送给服务器
SendErrorToServer(logString, stackTrace);
}
}
// 如何将报错信息发送给服务器
private void SendErrorToServer(string error, string stackTrace)
{
// Debug.Log($"SendErrorToServer-----------error\n{error}");
// Debug.Log($"SendErrorToServer-----------stackTrace\n{stackTrace}");
// 这里填写将报错信息发送到服务器的代码
ErrorLogKit.Send("error", error, stackTrace, SuperApplication.Instance.attribution);
}
}