Files
Gen_Hack-and-Slash-Roguelit…/Client/Assets/Scripts/Logging/UnityLogger.cs
2025-07-08 09:42:27 +08:00

55 lines
1.6 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();
public static void Init()
{
Application.logMessageReceived += OnLogMessageReceived;
}
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;
}
}
}
}
}