40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using System.Collections.Generic;
|
|
using SGModule.NetKit;
|
|
using BallKingdomCrush;
|
|
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);
|
|
}
|
|
} |