2026-04-04 13:30:13 +02:00
|
|
|
namespace Microsoft.Extensions.Logging;
|
|
|
|
|
|
|
|
|
|
public static class LoggerExtensions
|
|
|
|
|
{
|
|
|
|
|
public static void Emit(this ILogger logger, EventId eventId,
|
|
|
|
|
LogLevel logLevel, string message, Exception? exception = null, params object?[] args)
|
|
|
|
|
{
|
|
|
|
|
if (logger is null)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
//if (!logger.IsEnabled(logLevel))
|
|
|
|
|
// return;
|
|
|
|
|
|
|
|
|
|
switch (logLevel)
|
|
|
|
|
{
|
|
|
|
|
case LogLevel.Trace:
|
|
|
|
|
logger.LogTrace(eventId, message, args);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case LogLevel.Debug:
|
|
|
|
|
logger.LogDebug(eventId, message, args);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case LogLevel.Information:
|
|
|
|
|
logger.LogInformation(eventId, message, args);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case LogLevel.Warning:
|
|
|
|
|
logger.LogWarning(eventId, exception, message, args);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case LogLevel.Error:
|
|
|
|
|
logger.LogError(eventId, exception, message, args);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case LogLevel.Critical:
|
|
|
|
|
logger.LogCritical(eventId, exception, message, args);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void TestPattern(this ILogger logger, EventId eventId)
|
|
|
|
|
{
|
2026-04-05 08:00:09 +02:00
|
|
|
Exception exception = new InvalidDataException("Test Error Message");
|
2026-04-04 13:30:13 +02:00
|
|
|
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning disable CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
logger.Emit(eventId, LogLevel.Trace, "Trace Test Pattern");
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning restore CA1848 // Use the LoggerMessage delegates
|
|
|
|
|
#pragma warning disable CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
logger.Emit(eventId, LogLevel.Debug, "Debug Test Pattern");
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning restore CA1848 // Use the LoggerMessage delegates
|
|
|
|
|
#pragma warning disable CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
logger.Emit(eventId, LogLevel.Information, "Information Test Pattern");
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning restore CA1848 // Use the LoggerMessage delegates
|
|
|
|
|
#pragma warning disable CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
logger.Emit(eventId, LogLevel.Warning, "Warning Test Pattern");
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning restore CA1848 // Use the LoggerMessage delegates
|
|
|
|
|
#pragma warning disable CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
logger.Emit(eventId, LogLevel.Error, "Error Test Pattern", exception);
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning restore CA1848 // Use the LoggerMessage delegates
|
|
|
|
|
#pragma warning disable CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
logger.Emit(eventId, LogLevel.Critical, "Critical Test Pattern", exception);
|
2026-04-05 08:00:09 +02:00
|
|
|
#pragma warning restore CA1848 // Use the LoggerMessage delegates
|
2026-04-04 13:30:13 +02:00
|
|
|
}
|
|
|
|
|
}
|