From 186c6ef7a44eb18dd9f08f5cf041d6eeb39ffa91 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Mon, 29 Jun 2026 16:20:10 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=85=94=EB=A0=88=EA=B7=B8=EB=9E=A8=20?= =?UTF-8?q?=EC=95=8C=EB=A6=BC=20=EC=98=88=EC=99=B8=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=B8=8C=EB=9D=BC=EC=9A=B0=EC=A0=80=20=EA=B0=95=EC=A0=9C=20?= =?UTF-8?q?=EC=A2=85=EB=A3=8C(JSDisconnectedException,=20TaskCanceledExcep?= =?UTF-8?q?tion)=20=ED=95=84=ED=84=B0=EB=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TaxBaik.Web/Logging/TelegramSink.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/TaxBaik.Web/Logging/TelegramSink.cs b/TaxBaik.Web/Logging/TelegramSink.cs index 10f5318..f1fb30b 100644 --- a/TaxBaik.Web/Logging/TelegramSink.cs +++ b/TaxBaik.Web/Logging/TelegramSink.cs @@ -28,6 +28,20 @@ public class TelegramSink : ILogEventSink return; } + // Filter out harmless client disconnect and task cancellation exceptions + if (logEvent.Exception != null) + { + var exTypeName = logEvent.Exception.GetType().FullName ?? ""; + var exMessage = logEvent.Exception.Message ?? ""; + if (exTypeName.Contains("JSDisconnectedException") || + exTypeName.Contains("TaskCanceledException") || + exMessage.Contains("JavaScript interop calls cannot be issued") || + exMessage.Contains("circuit has disconnected")) + { + return; + } + } + // Emit is a synchronous method, so we dispatch the network call asynchronously Task.Run(async () => {