DTLib.Logging.Microsoft and dependency upgrade

This commit is contained in:
2024-01-07 14:11:35 +06:00
parent b12fdb2280
commit ea03818fe4
10 changed files with 69 additions and 66 deletions

View File

@@ -2,7 +2,7 @@
<PropertyGroup>
<!--package info-->
<PackageId>DTLib.Logging</PackageId>
<Version>1.3.2</Version>
<Version>1.3.3</Version>
<Authors>Timerix</Authors>
<Description>Loggers with dependency injection</Description>
<RepositoryType>GIT</RepositoryType>
@@ -14,23 +14,18 @@
<TargetFrameworks>netstandard2.0;net6.0;net7.0;net8.0</TargetFrameworks>
<DebugType>embedded</DebugType>
<!--language features-->
<LangVersion>10</LangVersion>
<LangVersion>12</LangVersion>
<Nullable>disable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>
</PropertyGroup>
<!--external dependencies-->
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
</ItemGroup>
<!--DTLib dependencies-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<ProjectReference Include="..\DTLib\DTLib.csproj" />
<ProjectReference Include="..\DTLib.Ben.Demystifier\DTLib.Ben.Demystifier.csproj" />
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)' != 'Debug' ">
<PackageReference Include="DTLib" Version="1.3.2" />
<PackageReference Include="DTLib.Ben.Demystifier" Version="1.0.5" />
<PackageReference Include="DTLib" Version="1.3.3" />
<PackageReference Include="DTLib.Ben.Demystifier" Version="1.0.6" />
</ItemGroup>
</Project>

View File

@@ -1,13 +0,0 @@
using Microsoft.Extensions.DependencyInjection;
namespace DTLib.Logging.DependencyInjection;
public class LoggerService<TCaller> : ServiceDescriptor
{
// ReSharper disable once RedundantNameQualifier
public LoggerService(DTLib.Logging.ILogger logger) : base(
typeof(Microsoft.Extensions.Logging.ILogger<TCaller>),
new MyLoggerWrapper<TCaller>(logger))
{
}
}

View File

@@ -1,39 +0,0 @@
using Microsoft.Extensions.Logging;
// ReSharper disable RedundantNameQualifier
namespace DTLib.Logging.DependencyInjection;
public class MyLoggerWrapper<TCaller> : Microsoft.Extensions.Logging.ILogger<TCaller>
{
public DTLib.Logging.ILogger Logger;
public MyLoggerWrapper(DTLib.Logging.ILogger logger)=>
Logger = logger;
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
string message = formatter(state, exception);
Logger.Log(typeof(TCaller).Name, LogSeverity_FromLogLevel(logLevel), message);
}
private bool _isEnabled=true;
public bool IsEnabled(LogLevel logLevel) => _isEnabled;
public IDisposable BeginScope<TState>(TState state)
{
throw new NotImplementedException();
}
static LogSeverity LogSeverity_FromLogLevel(LogLevel l)
=> l switch
{
LogLevel.Trace => LogSeverity.Debug,
LogLevel.Debug => LogSeverity.Debug,
LogLevel.Information => LogSeverity.Info,
LogLevel.Warning => LogSeverity.Warn,
LogLevel.Error => LogSeverity.Error,
LogLevel.Critical => LogSeverity.Error,
LogLevel.None => throw new NotImplementedException("LogLevel.None is not supported"),
_ => throw new ArgumentOutOfRangeException(nameof(l), l, null)
}
;
}