.NET 6 使用 LogDashboard 可视化日志

在上一篇中我使用Nlog记录日志到了数据库,接下来我们进行日志的可视化展示

1. 关于LogDashboard

logdashboard是在github上开源的aspnetcore项目, 它旨在帮助开发人员排查项目运行中出现错误时快速查看日志排查问题

Tips: 项目已经有两年没有更新了

官网地址 https://logdashboard.net/

在线演示地址 https://logdashboard.net/logdashboard

文档地址 https://doc.logdashboard.net/

GitHub地址 https://github.com/realLiangshiwei/LogDashboard

2. 安装LogDashboard

3.Program.cs

   //获取appsettings.json 文件中的数据库连接字符串
    var connectionString = builder.Configuration.GetConnectionString("Context");
   // 添加日志面板 
   builder.Services.AddLogDashboard(options =>
   {
       options.UseDataBase(() => new SqlConnection(connectionString));
       //自定义数据模型
       options.CustomLogModel<CustomLogModel>();
   });

   //启用日志面板
   app.UseLogDashboard();

4. 修改Nlog表结构与表名

由于LogDashboard需要通过表名Log(从源码中我们可以看到不支持自定义表名)来获取数据,所以我们需要修改Nlog的表名称为Log

而且日志模型中必须包含以下5个属性才会被LogDashboard解析

图中的LongDate与上一篇中的字段Logged 是一样的,都是记录日志的时间,所以我们将表字段改为Logged,并修改nlog.config文件中的配置

5. 效果展示

访问地址:http://127.0.0.1:7128/logdashboard
首页

日志列表

日志详情

6. 遗憾之处

1.日志列表中筛选日志等级时除了All查询出来有数据之外,其他等级都无法查询出数据

通过查看网络请求及源码,查看到传递的参数是大写

但即使数据库中的Level字段是大写,还是查询不出来数据

查询的方法是这样写的,有知道的大佬帮忙解答一下

2.表名不支持自定义,只能使用默认的Log表名

相关推荐
Crazy Struggle1 天前
.NET 8 强大功能 IHostedService 与 BackgroundService 实战
c#·.net·.net core
IT规划师2 天前
开源 - Ideal库 - 常用枚举扩展方法(二)
开源·c#·.net core·ideal库·枚举转换
IT规划师3 天前
开源 - Ideal库 - 常用枚举扩展方法(一)
开源·c#·.net core·ideal库·枚举转换
小吴同学·3 天前
(实战)WebApi第13讲:怎么把不同表里的东西,包括同一个表里面不同的列设置成不同的实体,所有的给整合到一起?【前端+后端】、前端中点击标签后在界面中显示
c#·.netcore·.net core
IT规划师4 天前
开源 - Ideal库 -获取特殊时间扩展方法(四)
开源·.net core·日期时间·ideal库
IT规划师5 天前
开源 - Ideal库 - 特殊时间扩展方法(三)
开源·.net core·ideal库
IT规划师7 天前
开源 - Ideal库 - 常用时间转换扩展方法(二)
开源·.net core·时间转换·ideal库
小吴同学·13 天前
.NET Core WebApi第6讲:WebApi的前端怎么派人去拿数据?(区别MVC)
.net core
小吴同学·16 天前
.NET Core WebApi第5讲:接口传参实现、数据获取流程、204状态码问题
c#·.net core
想起你的日子17 天前
asp.net core 入口 验证token,但有的接口要跳过验证
后端·.net core