Co-authored-by: zzdxxz <2079238449@qq.com> Co-committed-by: zzdxxz <2079238449@qq.com>
58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using Serilog;
|
|
using UnityEngine;
|
|
using SerilogLogger = Serilog.Core.Logger;
|
|
|
|
namespace Logging
|
|
{
|
|
public static class UnityLogger
|
|
{
|
|
private static readonly SerilogLogger Logger = new LoggerConfiguration()
|
|
.WriteTo.File("Logs/UnityLog.txt")
|
|
.CreateLogger();
|
|
private static bool _initialized = false;
|
|
public static void Init()
|
|
{
|
|
if(_initialized)
|
|
return;
|
|
Application.logMessageReceived += OnLogMessageReceived;
|
|
_initialized = true;
|
|
}
|
|
|
|
private static void OnLogMessageReceived(string logString, string stackTrace, LogType type)
|
|
{
|
|
switch (type)
|
|
{
|
|
case LogType.Assert:
|
|
{
|
|
Logger.Warning("\nContent: {0}", logString);
|
|
break;
|
|
}
|
|
case LogType.Log:
|
|
{
|
|
Logger.Information("\nContent: {0}", logString);
|
|
break;
|
|
}
|
|
case LogType.Warning:
|
|
{
|
|
Logger.Warning("\nContent: {0}", logString);
|
|
break;
|
|
}
|
|
case LogType.Error:
|
|
{
|
|
Logger.Error("\nContent: {0}\nStackTrace:\n{1}", logString, stackTrace[..^1]);
|
|
break;
|
|
}
|
|
case LogType.Exception:
|
|
{
|
|
Logger.Fatal("\nContent: {0}\nStackTrace:\n{1}", logString, stackTrace[..^1]);
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
Logger.Information("\nContent: {0}", logString);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |