From 7f89b5a19694c801f89cf3978e3926e61ff75728 Mon Sep 17 00:00:00 2001 From: Mia Winter Date: Tue, 9 Apr 2024 21:04:22 +0200 Subject: [PATCH] Added more logging to Webhook endpoint --- Wave/Controllers/WebhookController.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Wave/Controllers/WebhookController.cs b/Wave/Controllers/WebhookController.cs index af2befc..d429fcf 100644 --- a/Wave/Controllers/WebhookController.cs +++ b/Wave/Controllers/WebhookController.cs @@ -16,9 +16,13 @@ public class WebhookController(ILogger logger, ApplicationDbC foreach (var webhookEvent in webhook.Events) { var subscriber = await context.Set().FirstOrDefaultAsync(s => s.Email == webhookEvent.Email); + logger.LogDebug("Received Webhook event {EventType} for {email}", + webhookEvent.Type, webhookEvent.Email); + if (subscriber is null) { logger.LogWarning( - "Received webhook event from mailtrap of type {type}, but failed to find subscriber with E-Mail {email}.", + "Received webhook event from mailtrap of type {EventType}, " + + "but failed to find subscriber with E-Mail {email}.", webhookEvent.Type, webhookEvent.Email); continue; } @@ -51,12 +55,16 @@ public class WebhookController(ILogger logger, ApplicationDbC subscriber.Unsubscribed = true; subscriber.UnsubscribeReason ??= webhookEvent.Reason?.Humanize().Titleize() ?? "Rejected"; break; + case WebhookEventType.SoftBounce: + case WebhookEventType.Click: default: - logger.LogInformation("Received unsupported event {EventType}. Skipping.", webhookEvent.Type); + logger.LogInformation("Received unsupported event {EventType} for {email}. Skipping.", webhookEvent.Type, webhookEvent.Email); return Ok(); } await context.SaveChangesAsync(); + logger.LogDebug("Webhook event {EventType} for {email} processed successfully.", + webhookEvent.Type, webhookEvent.Email); }