feat: added loggers
This commit is contained in:
28
Engine.Core/Debug/LoggerExtensions.cs
Normal file
28
Engine.Core/Debug/LoggerExtensions.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Syntriax.Engine.Core.Debug;
|
||||
|
||||
public static class LoggerExtensions
|
||||
{
|
||||
public static void Log<T>(this ILogger logger, T caller, string message, ILogger.Level level = ILogger.Level.Info, bool force = false)
|
||||
{
|
||||
string body = $"{caller?.GetType().Name ?? typeof(T).Name}: {message}";
|
||||
logger.Log(body, level, force);
|
||||
}
|
||||
|
||||
public static void LogWarning<T>(this ILogger logger, T caller, string message, bool force = false) => Log(logger, caller, message, ILogger.Level.Info, force);
|
||||
|
||||
public static void LogError<T>(this ILogger logger, T caller, string message, bool force = false)
|
||||
{
|
||||
Log(logger, caller, message, ILogger.Level.Error, force);
|
||||
Log(logger, caller, $"{nameof(StackTrace)}:{Environment.NewLine}{new StackTrace()}");
|
||||
}
|
||||
|
||||
public static void LogException<T>(this ILogger logger, T caller, Exception exception, bool force = false)
|
||||
{
|
||||
Log(logger, caller, $"Message: {exception.Message}", ILogger.Level.Error, force);
|
||||
Log(logger, caller, $"InnerException: {exception.InnerException}", ILogger.Level.Error, force);
|
||||
Log(logger, caller, $"{nameof(StackTrace)}:{Environment.NewLine}{exception.StackTrace}");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user