.NET 9.0 的 Blazor Web App 项目,Bootstrap Blazor 全局异常 <ErrorLogger> 使用备忘

一、全局异常 通过 <ErrorLogger> 组件实现,可以对全局的日志、异常进行统一输出,该组件【已经包含】在 <BootstrapBlazorRoot> 中,使用了 <BootstrapBlazorRoot> 组件包裹的 razor组件 【不用】再额外添加 <ErrorLogger> 组件包裹。

二、全局异常 默认已经开启、后台自动生效,【不用】在项目中做其他任务额外操作,项目发布后执行时,自动拦截异常,项目不会因为发生异常而崩溃、导致不可用,可能会在页面顶端显示 全局异常 的简要说明,如下图所示。

三、如果要显示 全局异常 的详细说明,可以在 appsettings.json 中进行配置。注意,此配置在 "BootstrapBlazorOptions" 外面。

cs 复制代码
............

  //BB全局异常:是否输出详细错误信息
  "DetailedErrors": true,

............

  "BootstrapBlazorOptions": {
    "ToastDelay": 5000,
    "MessageDelay": 5000,
    "SwalDelay": 5000,

    //BB全局异常:不配置时,默认值为 true = 启用;false 禁用
    "EnableErrorLogger": true,

............

  }

四、如果要关闭默认开启的 全局异常,可以 "BootstrapBlazorOptions" 中进行配置。关闭后,发现 全局异常 时,页面崩溃,显示如下图所示提示。

五、如果要将 全局异常 信息记录到日志文件中、方便事后查阅,操作步骤如下。

  1. 通过【NuGet 包管理器】引用 Longbow.Logging 组件包。

  2. 在 Program.cs 中注册服务。注册后,全局异常 发生后,自动写入日志文件中,日志文件默认位于项目执行文件所在目录中的 Logs 子目录中。日志目录、文件名可以在注册时进行修改,如下示例代码中所示。

cs 复制代码
............

/* 全局异常(自动记录,也可以手动记录,例如 Logger.LogInformation 等)日志记录:先要清除默认的日志提供程序 */
builder.Logging.ClearProviders();  
builder.Services.AddLogging(builder => builder.AddFileLogger());
//builder.Services.AddLogging(builder => builder.AddFileLogger(options => { options.FileName = "LogsAbc\\Abc.log"; }));

............
  1. 也可以手动记录日志到日志文件中,示例代码如下所示。
cs 复制代码
    @inject ILogger<Counter> Logger
    private void IncrementCount()
    {
        currentCount++;
        Logger.LogInformation("Counter incremented to {Count}", currentCount);
    }
相关推荐
堕落年代8 分钟前
Vue主流的状态保存框架对比
前端·javascript·vue.js
OpenTiny社区19 分钟前
TinyVue的DatePicker 组件支持日期面板单独使用啦!
前端·vue.js
冴羽19 分钟前
Svelte 最新中文文档教程(22)—— Svelte 5 迁移指南
前端·javascript·svelte
树上有只程序猿23 分钟前
Vue3组件通信:多个实战场景,轻松玩转复杂数据流!
前端·vue.js
剪刀石头布啊31 分钟前
css属性值计算过程
前端·css
bin915336 分钟前
DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加列宽调整功能,示例Table14基础固定表头示例
前端·javascript·vue.js·ecmascript·deepseek
小华同学ai38 分钟前
吊打中文合成!这款开源语音神器效果炸裂,逼真到离谱!
前端·后端·github
颜酱43 分钟前
后台系统从零搭建(三)—— 具体页面之部门管理(抽离通用的增删改查逻辑)
前端·javascript·react.js
qq_3325394544 分钟前
JavaScript性能优化实战指南
前端·javascript·性能优化
wkj0011 小时前
Vue 项目中,.env文件怎么用?
前端·javascript·vue.js