Skip to content

Commit 68540b4

Browse files
authored
#169 - zlogger (#181)
* #169 - zlogger * fix * fix build * exclude LoggingWriter.cs from cov
1 parent 2f4a668 commit 68540b4

File tree

8 files changed

+26
-65
lines changed

8 files changed

+26
-65
lines changed

Directory.Packages.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77
</PackageVersion>
88
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
99
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
10+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.9" />
1011
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.9" />
11-
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="9.0.9" />
1212
<PackageVersion Include="Microsoft.Extensions.Options" Version="9.0.9" />
1313
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.24126.1" />
1414
<PackageVersion Include="System.IO.Abstractions" Version="22.0.16" />
1515
<PackageVersion Include="Visitor.NET" Version="4.2.0" />
1616
<PackageVersion Include="Visitor.NET.AutoVisitableGen" Version="1.5.2" />
17+
<PackageVersion Include="ZLogger" Version="2.5.10" />
1718
</ItemGroup>
1819
</Project>

benchmarks/HydraScript.Benchmarks/HydraScript.Benchmarks.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
<ItemGroup>
1212
<PackageReference Include="BenchmarkDotNet"/>
13-
<PackageReference Include="Microsoft.Extensions.Logging.Console"/>
13+
<PackageReference Include="Microsoft.Extensions.Logging"/>
1414
</ItemGroup>
1515

1616
</Project>

benchmarks/HydraScript.Benchmarks/InvokeBenchmark.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using BenchmarkDotNet.Attributes;
1+
using System.Diagnostics.CodeAnalysis;
2+
using BenchmarkDotNet.Attributes;
23
using BenchmarkDotNet.Running;
34
using HydraScript.Benchmarks;
45
using HydraScript.Infrastructure;
@@ -7,6 +8,8 @@
78
using Microsoft.Extensions.Logging.Abstractions;
89
using Microsoft.Extensions.Options;
910

11+
[assembly: ExcludeFromCodeCoverage]
12+
1013
BenchmarkRunner.Run<InvokeBenchmark>();
1114

1215
[InProcess, MemoryDiagnoser]

src/HydraScript/HydraScript.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
</ItemGroup>
1919

2020
<ItemGroup>
21-
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
2221
<PackageReference Include="System.CommandLine" />
2322
</ItemGroup>
2423

src/HydraScript/Program.cs

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using HydraScript.Infrastructure;
55
using Microsoft.Extensions.DependencyInjection;
66
using Microsoft.Extensions.Logging;
7-
using Microsoft.Extensions.Logging.Console;
7+
using ZLogger;
88

99
return CliParser.Parse(GetCommand(), args).Invoke();
1010

@@ -25,26 +25,11 @@ private static ExecuteCommand GetCommand()
2525
return command;
2626
}
2727

28-
private const string SuppressMessage = $"{nameof(ConsoleFormatterOptions)} is used";
29-
30-
[UnconditionalSuppressMessage(
31-
category: "ReflectionAnalysis",
32-
checkId: "IL2026:RequiresUnreferencedCode",
33-
Justification = SuppressMessage)]
34-
[UnconditionalSuppressMessage(
35-
category: "AotAnalysis",
36-
checkId: "IL3050:RequiresDynamicCode",
37-
Justification = SuppressMessage)]
38-
private static ServiceProvider GetServiceProvider(FileInfo fileInfo, bool dump)
39-
{
40-
var services = new ServiceCollection();
41-
services.AddLogging(c => c.ClearProviders()
42-
.AddConsole(options => options.FormatterName = nameof(SimplestConsoleFormatter))
43-
.AddConsoleFormatter<SimplestConsoleFormatter, ConsoleFormatterOptions>());
44-
services
28+
private static ServiceProvider GetServiceProvider(FileInfo fileInfo, bool dump) =>
29+
new ServiceCollection()
30+
.AddLogging(c => c.ClearProviders().AddZLoggerConsole())
4531
.AddDomain()
4632
.AddApplication()
47-
.AddInfrastructure(dump, fileInfo);
48-
return services.BuildServiceProvider();
49-
}
33+
.AddInfrastructure(dump, fileInfo)
34+
.BuildServiceProvider();
5035
}

src/HydraScript/SimplestConsoleFormatter.cs

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/Infrastructure/HydraScript.Infrastructure/HydraScript.Infrastructure.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
</ItemGroup>
1414

1515
<ItemGroup>
16+
<PackageReference Include="Microsoft.Extensions.Logging" />
1617
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
1718
<PackageReference Include="Microsoft.Extensions.Options" />
1819
<PackageReference Include="System.IO.Abstractions" />
20+
<PackageReference Include="ZLogger" />
1921
</ItemGroup>
2022

2123
<ItemGroup>
Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1+
using System.Diagnostics.CodeAnalysis;
12
using HydraScript.Domain.BackEnd;
23
using Microsoft.Extensions.Logging;
4+
using ZLogger;
35

46
namespace HydraScript.Infrastructure;
57

8+
[ExcludeFromCodeCoverage]
69
internal partial class LoggingWriter(ILogger<LoggingWriter> logger) : IOutputWriter
710
{
8-
[LoggerMessage(
9-
EventId = 0,
10-
Level = LogLevel.Information,
11-
Message = "{obj}")]
12-
public partial void WriteLine(object? obj);
11+
[ZLoggerMessage(Level = LogLevel.Information, Message = "{obj}")]
12+
private static partial void WriteLine(ILogger<LoggingWriter> logger, object? obj);
1313

14-
[LoggerMessage(
15-
EventId = 1,
16-
Level = LogLevel.Error,
17-
Message = "{message}")]
18-
public partial void WriteError(Exception e, string message);
14+
public void WriteLine(object? obj) => WriteLine(logger, obj);
15+
16+
[ZLoggerMessage(Level = LogLevel.Error, Message = "{message}")]
17+
private static partial void WriteError(ILogger<LoggingWriter> logger, Exception e, string message);
18+
19+
public void WriteError(Exception e, string message) => WriteError(logger, e, message);
1920
}

0 commit comments

Comments
 (0)