Basic ASP.NET -> Kettu logger

This commit is contained in:
jvyden 2021-10-21 01:01:45 -04:00
commit fe03663f38
No known key found for this signature in database
GPG key ID: 18BCF2BE0262B278
9 changed files with 155 additions and 7 deletions

View file

@ -0,0 +1,29 @@
using System;
using Kettu;
using Microsoft.Extensions.Logging;
namespace LBPUnion.ProjectLighthouse.Logging {
public class AspNetToKettuLogger : ILogger {
public IDisposable BeginScope<TState>(TState state) {
return NullScope.Instance;
}
public bool IsEnabled(LogLevel logLevel) => true;
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter) {
LoggerLevel loggerLevel = logLevel switch {
LogLevel.Trace => LoggerLevelAspNetTrace.Instance,
LogLevel.Debug => LoggerLevelAspNetDebug.Instance,
LogLevel.Information => LoggerLevelAspNetInformation.Instance,
LogLevel.Warning => LoggerLevelAspNetWarning.Instance,
LogLevel.Error => LoggerLevelAspNetError.Instance,
LogLevel.Critical => LoggerLevelAspNetCritical.Instance,
LogLevel.None => LoggerLevelAspNetNone.Instance,
_ => throw new ArgumentOutOfRangeException(nameof(logLevel), logLevel, null)
};
Logger.Log(state.ToString(), loggerLevel);
}
}
}