|
1 | | -using Microsoft.Extensions.DependencyInjection; |
2 | 1 | using TeleFrame.Middlewares.Abstractions; |
3 | | -using TeleFrame.Services; |
4 | 2 |
|
5 | 3 | namespace TeleFrame.Middlewares; |
6 | 4 |
|
7 | | -public class UpdateLoggingMiddleware(ILogger<UpdateLoggingMiddleware> logger) : IUpdateMiddleware |
| 5 | +public partial class UpdateLoggingMiddleware(ILogger<UpdateLoggingMiddleware> logger) : IUpdateMiddleware |
8 | 6 | { |
9 | 7 | public Task InvokeAsync(UpdateContext context, UpdateMiddlewareDelegate next, |
10 | 8 | CancellationToken cancellationToken) |
11 | 9 | { |
12 | 10 | var update = context.Update; |
13 | 11 |
|
14 | | - logger.LogInformation("Received Update Type : {Type}", update.Type); |
15 | | - if (update.Message?.Text is not null) |
16 | | - logger.LogInformation("Received Message : {Message}", update.Message.Text); |
| 12 | + LogReceivedUpdateType(logger, update.Type); |
| 13 | + |
| 14 | + if (update.Message?.Text is null) return next(context, cancellationToken); |
| 15 | + |
| 16 | + LogReceivedMessageMessage(logger, update.Message.Text); |
| 17 | + LogReceivedMessageTypeMessage(logger, update.Message.Type); |
| 18 | + |
17 | 19 | return next(context, cancellationToken); |
18 | 20 | } |
| 21 | + |
| 22 | + [LoggerMessage(LogLevel.Information, "Received Update Type : {Type}")] |
| 23 | + static partial void LogReceivedUpdateType(ILogger<UpdateLoggingMiddleware> logger, UpdateType type); |
| 24 | + |
| 25 | + [LoggerMessage(LogLevel.Information, "Received Message : {Message}")] |
| 26 | + static partial void LogReceivedMessageMessage(ILogger<UpdateLoggingMiddleware> logger, string message); |
| 27 | + |
| 28 | + [LoggerMessage(LogLevel.Information, "Received Message Type: {Message}")] |
| 29 | + static partial void LogReceivedMessageTypeMessage(ILogger<UpdateLoggingMiddleware> logger, MessageType message); |
19 | 30 | } |
20 | 31 |
|
21 | 32 | public static class UpdateLoggingMiddlewareExtensions |
|
0 commit comments