Skip to content

Commit fd0ecc3

Browse files
committed
Update dependencies and refactor logging components
- Bump `Roslynator.Analyzers` to version `4.12.10`. - Remove project references to `Genocs.Core` and `Genocs.HTTP`. - Add `Genocs.Logging` reference in multiple projects. - Refactor `CommandHandlerLoggingDecorator` and `EventHandlerLoggingDecorator` for improved clarity and type safety. - Remove unnecessary `Serilog.Expressions` package reference. - Disable `consul` and `fabio` settings in `appsettings.json`. - Clean up project references across various `.csproj` files.
1 parent 7f78aaf commit fd0ecc3

File tree

25 files changed

+51
-88
lines changed

25 files changed

+51
-88
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
</PropertyGroup>
2727

2828
<ItemGroup>
29-
<PackageReference Include="Roslynator.Analyzers" Version="4.12.9">
29+
<PackageReference Include="Roslynator.Analyzers" Version="4.12.10">
3030
<PrivateAssets>all</PrivateAssets>
3131
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3232
</PackageReference>

src/Genocs.Auth/Genocs.Auth.csproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,10 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
21-
<ProjectReference Include="..\Genocs.Core\Genocs.Core.csproj" />
2221
<ProjectReference Include="..\Genocs.Security\Genocs.Security.csproj" />
2322
</ItemGroup>
2423

2524
<ItemGroup Condition="'$(Configuration)' == 'Release'">
26-
<PackageReference Include="Genocs.Core" Version="7.2.1" />
2725
<PackageReference Include="Genocs.Security" Version="7.2.1" />
2826
</ItemGroup>
2927

src/Genocs.Core.Demo.Worker/Genocs.Core.Demo.Worker.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<ItemGroup>
3030
<ProjectReference Include="..\Genocs.Core.Demo.Contracts\Genocs.Core.Demo.Contracts.csproj" />
3131
<ProjectReference Include="..\Genocs.Core.Demo.Domain\Genocs.Core.Demo.Domain.csproj" />
32+
<ProjectReference Include="..\Genocs.Logging\Genocs.Logging.csproj" />
3233
</ItemGroup>
3334

3435
</Project>

src/Genocs.Discovery.Consul/Genocs.Discovery.Consul.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,10 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
21-
<ProjectReference Include="..\Genocs.Core\Genocs.Core.csproj" />
2221
<ProjectReference Include="..\Genocs.HTTP\Genocs.HTTP.csproj" />
23-
2422
</ItemGroup>
2523

2624
<ItemGroup Condition="'$(Configuration)' == 'Release'">
27-
<PackageReference Include="Genocs.Core" Version="7.2.1" />
2825
<PackageReference Include="Genocs.HTTP" Version="7.2.1" />
2926
</ItemGroup>
3027

src/Genocs.HTTP.RestEase/Genocs.HTTP.RestEase.csproj

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,10 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
21-
<ProjectReference Include="..\Genocs.Core\Genocs.Core.csproj" />
22-
<ProjectReference Include="..\Genocs.HTTP\Genocs.HTTP.csproj" />
23-
<ProjectReference Include="..\Genocs.Discovery.Consul\Genocs.Discovery.Consul.csproj" />
2421
<ProjectReference Include="..\Genocs.LoadBalancing.Fabio\Genocs.LoadBalancing.Fabio.csproj" />
2522
</ItemGroup>
2623

2724
<ItemGroup Condition="'$(Configuration)' == 'Release'">
28-
<PackageReference Include="Genocs.Core" Version="7.2.1" />
29-
<PackageReference Include="Genocs.HTTP" Version="7.2.1" />
30-
<PackageReference Include="Genocs.Discovery.Consul" Version="7.2.1" />
3125
<PackageReference Include="Genocs.LoadBalancing.Fabio" Version="7.2.1" />
3226
</ItemGroup>
3327

src/Genocs.LoadBalancing.Fabio/Genocs.LoadBalancing.Fabio.csproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,10 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
21-
<ProjectReference Include="..\Genocs.Core\Genocs.Core.csproj" />
22-
<ProjectReference Include="..\Genocs.HTTP\Genocs.HTTP.csproj" />
2321
<ProjectReference Include="..\Genocs.Discovery.Consul\Genocs.Discovery.Consul.csproj" />
2422
</ItemGroup>
2523

2624
<ItemGroup Condition="'$(Configuration)' == 'Release'">
27-
<PackageReference Include="Genocs.Core" Version="7.2.1" />
28-
<PackageReference Include="Genocs.HTTP" Version="7.2.1" />
2925
<PackageReference Include="Genocs.Discovery.Consul" Version="7.2.1" />
3026
</ItemGroup>
3127
</Project>

src/Genocs.Logging/CQRS/Decorators/CommandHandlerLoggingDecorator.cs

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,13 @@
66

77
namespace Genocs.Logging.CQRS.Decorators;
88

9-
[DecoratorAttribute]
10-
internal sealed class CommandHandlerLoggingDecorator<TCommand> : ICommandHandler<TCommand>
9+
[Decorator]
10+
internal sealed class CommandHandlerLoggingDecorator<TCommand>(ICommandHandler<TCommand> handler, ILogger<CommandHandlerLoggingDecorator<TCommand>> logger, IServiceProvider serviceProvider) : ICommandHandler<TCommand>
1111
where TCommand : class, ICommand
1212
{
13-
private readonly ICommandHandler<TCommand> _handler;
14-
private readonly ILogger<CommandHandlerLoggingDecorator<TCommand>> _logger;
15-
private readonly IMessageToLogTemplateMapper _mapper;
16-
17-
public CommandHandlerLoggingDecorator(ICommandHandler<TCommand> handler,
18-
ILogger<CommandHandlerLoggingDecorator<TCommand>> logger, IServiceProvider serviceProvider)
19-
{
20-
_handler = handler;
21-
_logger = logger;
22-
_mapper = serviceProvider.GetService<IMessageToLogTemplateMapper>() ?? new EmptyMessageToLogTemplateMapper();
23-
}
13+
private readonly ICommandHandler<TCommand> _handler = handler;
14+
private readonly ILogger<CommandHandlerLoggingDecorator<TCommand>> _logger = logger;
15+
private readonly IMessageToLogTemplateMapper _mapper = serviceProvider.GetService<IMessageToLogTemplateMapper>() ?? new EmptyMessageToLogTemplateMapper();
2416

2517
public async Task HandleAsync(TCommand command, CancellationToken cancellationToken = default)
2618
{
@@ -40,14 +32,14 @@ public async Task HandleAsync(TCommand command, CancellationToken cancellationTo
4032
}
4133
catch (Exception ex)
4234
{
43-
var exceptionTemplate = template.GetExceptionTemplate(ex);
35+
string? exceptionTemplate = template.GetExceptionTemplate(ex);
4436

4537
Log(command, exceptionTemplate, isError: true);
4638
throw;
4739
}
4840
}
4941

50-
private void Log(TCommand command, string message, bool isError = false)
42+
private void Log(TCommand command, string? message, bool isError = false)
5143
{
5244
if (string.IsNullOrEmpty(message))
5345
{

src/Genocs.Logging/CQRS/Decorators/EventHandlerLoggingDecorator.cs

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,13 @@
66

77
namespace Genocs.Logging.CQRS.Decorators;
88

9-
[DecoratorAttribute]
10-
internal sealed class EventHandlerLoggingDecorator<TEvent> : IEventHandler<TEvent> where TEvent : class, IEvent
9+
[Decorator]
10+
internal sealed class EventHandlerLoggingDecorator<TEvent>(IEventHandler<TEvent> handler, ILogger<EventHandlerLoggingDecorator<TEvent>> logger, IServiceProvider serviceProvider) : IEventHandler<TEvent>
11+
where TEvent : class, IEvent
1112
{
12-
private readonly IEventHandler<TEvent> _handler;
13-
private readonly ILogger<EventHandlerLoggingDecorator<TEvent>> _logger;
14-
private readonly IMessageToLogTemplateMapper _mapper;
15-
16-
public EventHandlerLoggingDecorator(IEventHandler<TEvent> handler,
17-
ILogger<EventHandlerLoggingDecorator<TEvent>> logger, IServiceProvider serviceProvider)
18-
{
19-
_handler = handler;
20-
_logger = logger;
21-
_mapper = serviceProvider.GetService<IMessageToLogTemplateMapper>() ?? new EmptyMessageToLogTemplateMapper();
22-
}
13+
private readonly IEventHandler<TEvent> _handler = handler;
14+
private readonly ILogger<EventHandlerLoggingDecorator<TEvent>> _logger = logger;
15+
private readonly IMessageToLogTemplateMapper _mapper = serviceProvider.GetService<IMessageToLogTemplateMapper>() ?? new EmptyMessageToLogTemplateMapper();
2316

2417
public async Task HandleAsync(TEvent @event, CancellationToken cancellationToken = default)
2518
{
@@ -39,14 +32,14 @@ public async Task HandleAsync(TEvent @event, CancellationToken cancellationToken
3932
}
4033
catch (Exception ex)
4134
{
42-
var exceptionTemplate = template.GetExceptionTemplate(ex);
35+
string? exceptionTemplate = template.GetExceptionTemplate(ex);
4336

4437
Log(@event, exceptionTemplate, isError: true);
4538
throw;
4639
}
4740
}
4841

49-
private void Log(TEvent @event, string message, bool isError = false)
42+
private void Log(TEvent @event, string? message, bool isError = false)
5043
{
5144
if (string.IsNullOrEmpty(message))
5245
{
@@ -64,10 +57,11 @@ private void Log(TEvent @event, string message, bool isError = false)
6457
}
6558

6659
/// <summary>
67-
/// Null Message to log template
60+
/// Null Message to log template.
6861
/// </summary>
6962
private class EmptyMessageToLogTemplateMapper : IMessageToLogTemplateMapper
7063
{
71-
public HandlerLogTemplate? Map<TMessage>(TMessage message) where TMessage : class => null;
64+
public HandlerLogTemplate? Map<TMessage>(TMessage message)
65+
where TMessage : class => null;
7266
}
7367
}

src/Genocs.Logging/CQRS/Extensions.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ private static IGenocsBuilder AddHandlerLogging(this IGenocsBuilder builder, Typ
2828

2929
handlers.ForEach(ch => GetExtensionMethods()
3030
.FirstOrDefault(mi => !mi.IsGenericMethod && mi.Name == "TryDecorate")?
31-
.Invoke(builder.Services, new object[]
32-
{
31+
.Invoke(builder.Services,
32+
[
3333
builder.Services,
3434
ch.GetInterfaces().FirstOrDefault(),
3535
decoratorType.MakeGenericType(ch.GetInterfaces().FirstOrDefault()?.GenericTypeArguments.First())
36-
}));
36+
]));
3737

3838
return builder;
3939
}
@@ -48,6 +48,7 @@ from method in type.GetMethods(BindingFlags.Static | BindingFlags.Public | Bindi
4848
where method.IsDefined(typeof(ExtensionAttribute), false)
4949
where method.GetParameters()[0].ParameterType == typeof(IServiceCollection)
5050
select method;
51+
5152
return query;
5253
}
5354
}

src/Genocs.Logging/Extensions.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ public static IHostBuilder UseLogging(
4949
configure?.Invoke(context, loggerConfiguration);
5050
});
5151

52-
public static IEndpointConventionBuilder MapLogLevelHandler(
53-
this IEndpointRouteBuilder builder,
54-
string endpointRoute = "~/logging/level")
52+
public static IEndpointConventionBuilder MapLogLevelHandler(this IEndpointRouteBuilder builder, string endpointRoute = "~/logging/level")
5553
=> builder.MapPost(endpointRoute, LevelSwitch);
5654

5755
private static void MapOptions(

0 commit comments

Comments
 (0)