BITKit/Packages/Runtime/Debuger/Reporter.cs

32 lines
955 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Sirenix.OdinInspector;
namespace BITKit
{
public class Reporter : SerializedMonoBehaviour
{
public IProvider<WWWForm> output;
void OnEnable()
{
Application.logMessageReceived += LogCallback;
}
void OnDisable()
{
Application.logMessageReceived -= LogCallback;
}
void LogCallback(string condition, string stackTrace, LogType type)
{
if (type is LogType.Exception)
{
var e = new WWWForm();
e.AddField(nameof(Exception.Message), condition);
e.AddField(nameof(Exception.StackTrace), stackTrace);
e.AddField("CreateTime", DateTime.Now.ToString());
e.AddField("Name",Application.productName);
output.Set(e);
}
}
}
}