基于 EFcore 实现了一个 .net core 日志记录程序,支持使用 .net 原生的日志框架 Microsoft.Extensions.Logging 将应用程序日志写入关系型数据库,目前支持三种关系型数据库(MS SQL Server、MySQL、PostgreSQL)。日志查看面板 UI 使用 vue3 开发,以嵌入的方式集成到程序集中,通过访问配置的路由节点打开日志面板UI。
代码地址
GitHub:https://github.com/fallTakeMan/Prime
使用方式
在自己的 api 或 web 项目中引入 Extensions.Logging.Prime 包,简单的配置一下就行。
1 using Extensions.Logging.Prime; 2 using Microsoft.EntityFrameworkCore; 3 using Sample.PrimeApi; 4 var builder = WebApplication.CreateBuilder(args); 5 6 // Add services to the container. 7 builder.Services.AddHttpContextAccessor(); 8 builder.Logging.AddPrime(cfg => 9 { 10 cfg.HttpLogIgnoreRouteMatch = "/swagger"; 11 12 //cfg.DbProvider = Extensions.Logging.Prime.Model.DatabaseType.MSSQL; 13 //cfg.ConnectionString = builder.Configuration.GetConnectionString("MSSQL") ?? ""; 14 15 //cfg.DbProvider = Extensions.Logging.Prime.Model.DatabaseType.MySql; 16 //cfg.ConnectionString = builder.Configuration.GetConnectionString("MySql") ?? ""; 17 18 cfg.DbProvider = Extensions.Logging.Prime.Model.DatabaseType.PostgreSQL; 19 cfg.ConnectionString = builder.Configuration.GetConnectionString("Npgsql") ?? ""; 20 21 //cfg.PrimeUserName = "test"; 22 //cfg.PrimePassword = "12345"; 23 });
一些截图
参考链接:实现自定义日志记录提供程序、cap、SAKAI-VUE