From 198ab375f9344455e1e240d44ebc16e8f32590b8 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 17 Jun 2025 14:19:16 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20EnableErrorLog?= =?UTF-8?q?gerILogger=20=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Options/BootstrapBlazorOptions.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/BootstrapBlazor/Options/BootstrapBlazorOptions.cs b/src/BootstrapBlazor/Options/BootstrapBlazorOptions.cs index b746461605a..bd0bc0fb055 100644 --- a/src/BootstrapBlazor/Options/BootstrapBlazorOptions.cs +++ b/src/BootstrapBlazor/Options/BootstrapBlazorOptions.cs @@ -4,6 +4,7 @@ // Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; using System.Globalization; namespace BootstrapBlazor.Components; @@ -53,6 +54,11 @@ public class BootstrapBlazorOptions : IOptions /// public bool ShowErrorLoggerToast { get; set; } = true; + /// + /// Gets or sets a value indicating whether error logging using an is enabled, default is true. + /// + public bool EnableErrorLoggerILogger { get; set; } = true; + /// /// Gets or sets whether to fall back to the fallback culture, default is true /// From bfc08f46b04521dc32fc4ddb8dad34bed21deff1 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 17 Jun 2025 14:19:36 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20EnableILogger?= =?UTF-8?q?=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs | 7 +++++++ src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs index b6b195dd3fe..589ed2932c7 100644 --- a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs +++ b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs @@ -30,6 +30,12 @@ public class ErrorLogger : ComponentBase, IErrorLogger [Parameter] public bool ShowToast { get; set; } = true; + /// + /// + /// + [Parameter] + public bool EnableILogger { get; set; } = true; + /// /// /// @@ -112,6 +118,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder) builder.AddAttribute(3, nameof(BootstrapBlazorErrorBoundary.ToastTitle), ToastTitle); builder.AddAttribute(4, nameof(BootstrapBlazorErrorBoundary.ErrorContent), ErrorContent); builder.AddAttribute(5, nameof(BootstrapBlazorErrorBoundary.ChildContent), ChildContent); + builder.AddAttribute(6, nameof(BootstrapBlazorErrorBoundary.EnableILogger), EnableILogger); builder.AddComponentReferenceCapture(5, obj => _errorBoundary = (BootstrapBlazorErrorBoundary)obj); builder.CloseComponent(); }; diff --git a/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs index 7a0f261e1ba..b50de90a597 100644 --- a/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs +++ b/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs @@ -27,6 +27,12 @@ public interface IErrorLogger /// bool ShowToast { get; } + /// + /// 获得/设置 是否启用日志记录功能 默认 true 启用 + /// 设置 false 后关闭记录日志功能 + /// + bool EnableILogger { get; } + /// /// 获得 Error Toast 弹窗标题 默认读取资源文件内容 /// From f592f434e4c59a51b0bdd27f918bacce6dfc7b3b Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 17 Jun 2025 14:19:54 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20EnableILogger?= =?UTF-8?q?=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErrorLogger/BootstrapBlazorErrorBoundary.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor/Components/ErrorLogger/BootstrapBlazorErrorBoundary.cs b/src/BootstrapBlazor/Components/ErrorLogger/BootstrapBlazorErrorBoundary.cs index a36ba9b1568..5534cdd5176 100644 --- a/src/BootstrapBlazor/Components/ErrorLogger/BootstrapBlazorErrorBoundary.cs +++ b/src/BootstrapBlazor/Components/ErrorLogger/BootstrapBlazorErrorBoundary.cs @@ -18,7 +18,7 @@ class BootstrapBlazorErrorBoundary : ErrorBoundaryBase { [Inject] [NotNull] - private ILogger? Logger { get; set; } + private ILogger? Logger { get; set; } [Inject] [NotNull] @@ -48,6 +48,12 @@ class BootstrapBlazorErrorBoundary : ErrorBoundaryBase [Parameter] public bool ShowToast { get; set; } = true; + /// + /// 获得/设置 是否启用日志记录功能 默认 true 启用 + /// + [Parameter] + public bool EnableILogger { get; set; } = true; + /// /// 获得/设置 Toast 弹窗标题 /// @@ -61,7 +67,10 @@ class BootstrapBlazorErrorBoundary : ErrorBoundaryBase /// protected override Task OnErrorAsync(Exception exception) { - Logger.LogError(exception, "{BootstrapBlazorErrorBoundary} {OnErrorAsync} log this error occurred at {Page}", nameof(BootstrapBlazorErrorBoundary), nameof(OnErrorAsync), NavigationManager.Uri); + if (EnableILogger) + { + Logger.LogError(exception, "BootstrapBlazorErrorBoundary OnErrorAsync log this error occurred at {Page}", NavigationManager.Uri); + } return Task.CompletedTask; } From 3f5a24bef2b61cd9b96f1c17e3ef1d56c142afcf Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 17 Jun 2025 14:20:09 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20EnableErrorLog?= =?UTF-8?q?gerILogger=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Layout/Layout.razor | 2 +- src/BootstrapBlazor/Components/Layout/Layout.razor.cs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor b/src/BootstrapBlazor/Components/Layout/Layout.razor index 49d8adb1b04..bd76cfaa9b6 100644 --- a/src/BootstrapBlazor/Components/Layout/Layout.razor +++ b/src/BootstrapBlazor/Components/Layout/Layout.razor @@ -127,7 +127,7 @@ else { + EnableILogger="@_enableILogger" OnErrorHandleAsync="OnErrorHandleAsync" OnInitializedCallback="OnErrorLoggerInitialized"> @HandlerMain() } diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor.cs b/src/BootstrapBlazor/Components/Layout/Layout.razor.cs index 8b05464116d..477057934e6 100644 --- a/src/BootstrapBlazor/Components/Layout/Layout.razor.cs +++ b/src/BootstrapBlazor/Components/Layout/Layout.razor.cs @@ -465,6 +465,12 @@ public partial class Layout : IHandlerException, ITabHeader [Parameter] public bool? ShowErrorLoggerToast { get; set; } + /// + /// 获得/设置 是否启用日志记录功能 默认 null 启用 使用 设置值 + /// + [Parameter] + public bool? EnableErrorLoggerILogger { get; set; } + /// /// 获得/设置 错误日志 弹窗标题 默认 null /// @@ -503,6 +509,8 @@ public partial class Layout : IHandlerException, ITabHeader private bool _showToast => ShowErrorLoggerToast ?? Options.CurrentValue.ShowErrorLoggerToast; + private bool _enableILogger => EnableErrorLoggerILogger ?? Options.CurrentValue.EnableErrorLoggerILogger; + /// /// /// From deaa04fc32fb42b40387d664eba3960fc893a0f2 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Tue, 17 Jun 2025 14:20:14 +0800 Subject: [PATCH 5/5] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/UnitTest/Components/LayoutTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/test/UnitTest/Components/LayoutTest.cs b/test/UnitTest/Components/LayoutTest.cs index fa8c89418d0..e778aa92225 100644 --- a/test/UnitTest/Components/LayoutTest.cs +++ b/test/UnitTest/Components/LayoutTest.cs @@ -568,6 +568,7 @@ public void ErrorLogger_LifeCycle() pb.Add(a => a.UseTabSet, false); pb.Add(a => a.EnableErrorLogger, true); pb.Add(a => a.ShowErrorLoggerToast, false); + pb.Add(a => a.EnableErrorLoggerILogger, false); pb.Add(a => a.ErrorLoggerToastTitle, "Title"); // 按钮触发异常 pb.Add(a => a.Main, new RenderFragment(builder =>