Files
Gen_Hack-and-Slash-Roguelit…/Client/Assets/Scripts/Logging/UnityLogger.cs

58 lines
1.7 KiB
C#
Raw Normal View History

2025-07-08 09:42:27 +08:00
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;
2025-07-08 09:42:27 +08:00
public static void Init()
{
if(_initialized)
return;
2025-07-08 09:42:27 +08:00
Application.logMessageReceived += OnLogMessageReceived;
_initialized = true;
2025-07-08 09:42:27 +08:00
}
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;
}
}
}
}
}