added new format for update handling log. WRN. Lets decide what to do this message == null

This commit is contained in:
Ruberoid 2025-07-23 11:52:07 +03:00
parent 24e550d612
commit 12a7a15d1f

View File

@ -3,18 +3,15 @@ using Microsoft.Extensions.Logging;
namespace Nocr.TelegramListener.AppServices.UpdateListeners.Handlers;
public sealed class UpdateHandler : IUpdateHandler
public sealed class UpdateHandler(
ILogger<UpdateHandler> logger,
INewMessageHandler newMessageHandler
) : IUpdateHandler
{
private readonly ILogger<UpdateHandler> _logger;
private readonly INewMessageHandler _newMessageHandler;
public UpdateHandler(
ILogger<UpdateHandler> logger,
INewMessageHandler newMessageHandler)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
_newMessageHandler = newMessageHandler ?? throw new ArgumentNullException(nameof(newMessageHandler));
}
private readonly ILogger<UpdateHandler> _logger = logger
?? throw new ArgumentNullException(nameof(logger));
private readonly INewMessageHandler _newMessageHandler = newMessageHandler
?? throw new ArgumentNullException(nameof(newMessageHandler));
public async Task HandleUpdate(Update update, CancellationToken cancellationToken = default)
{
@ -24,14 +21,18 @@ public sealed class UpdateHandler : IUpdateHandler
{
switch (update)
{
case UpdateNewMessage unm: await HandleMessage(unm.message); break;
case UpdateEditMessage uem: await HandleMessage(uem.message, true); break;
case UpdateNewMessage unm:
await HandleMessage(unm.message);
break;
case UpdateEditMessage uem:
await HandleMessage(uem.message, true);
break;
default:
_logger.LogInformation($"Update of type `{update.GetType().Name}` fired.");
_logger.LogInformation("Update of type `{UnsupportedUpdateName}` fired.", update.GetType().Name);
_logger.LogDebug("{update}", update);
break;
}
TelegramListenerMetrics.UpdatesProcessed.Inc();
}
catch (Exception ex)
@ -44,12 +45,10 @@ public sealed class UpdateHandler : IUpdateHandler
private async Task HandleMessage(MessageBase messageBase, bool edit = false)
{
if (edit)
_logger.LogInformation("(Edit): ");
switch (messageBase)
{
case Message m:
_logger.LogInformation($"{m.from_id} in {m.peer_id}> {m.message}");
_logger.LogDebug("({Edit}) from `{From}` in `{In}`: {Message}", edit ? "E" : "N", m.from_id, m.peer_id, m.message);
await _newMessageHandler.Handle(m);
break;
}