55 lines
1.6 KiB
C#
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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|