本文最新的内容,请查看官方操作说明文档,可能有增减:
https://note.youdao.com/s/SWmyu8tC
整个框架已经集成了多种日志记录:包括审计、异常、请求响应、服务操作、Sql执行语句等,并自动持久化到数据库表。
并且都配置到了appsettings.json配置文件中,然后打开或关闭对应的开关即可。
同时支持输出到控制台、文件、数据库等三种模式;
一、相关服务注册
代码语言:javascript复制.ConfigureLogging((hostingContext, builder) =>
{
builder.AddFilter("System", LogLevel.Error);
builder.AddFilter("Microsoft", LogLevel.Error);
builder.SetMinimumLevel(LogLevel.Error);
builder.AddLog4Net(Path.Combine(Directory.GetCurrentDirectory(), "Log4net.config"));
})
二、直接使用
Enabled开启开关;
LogToFile 日志输出到文件;
LogToDB 日志输出到数据库,具体的数据库配置取决于是Log4net.config中的配置appender附加器(下文会说明)
LogToConsole 日志输出到控制台;
代码语言:javascript复制// 1、服务级别日志
"AppSettings": {
// 基于切面编程AOP服务日志
"LogAOP": {
"Enabled": true,
"LogToFile": {
"Enabled": false
},
"LogToDB": {
"Enabled": true
}
},
// sql执行日志
"SqlAOP": {
"Enabled": true,
"LogToFile": {
"Enabled": false
},
"LogToDB": {
"Enabled": false
},
"LogToConsole": {
"Enabled": true
}
},
},
// 2、中间件级别日志
"Middleware": {
// 请求响应日志
"RequestResponseLog": {
"Enabled": true,
"LogToFile": {
"Enabled": false
},
"LogToDB": {
"Enabled": true
}
},
// ip请求地址日志
"IPLog": {
"Enabled": true,
"LogToFile": {
"Enabled": false
},
"LogToDB": {
"Enabled": true
}
},
// 详细的用户访问请求接口日志
,可以忽略某些接口
"RecordAccessLogs": {
"Enabled": true,
"LogToFile": {
"Enabled": false
},
"LogToDB": {
"Enabled": true
},
"IgnoreApis": "/api/permission/getnavigationbar,/api/monitor/getids4users,/api/monitor/getaccesslogs,/api/monitor/server,/api/monitor/getactiveusers,/api/monitor/server,"
},
}
三、Log4net.config中配置数据库附加器
目前支持三种数据库,Sqlite、Sqlserver、Mysql,其他的都可以自定义扩展
使用哪种数据库,就在下边启动即可
四、效果
2023
B
C
V
P
Blog.Core 是一个开箱即用的企业级权限管理应用框架,目前开源五年。
采用最新的前后端完全分离技术【 ASP.NET Core Api 6.0 Vue 2.x 】,并结合 IdentityServer4 ,可快速解决多客户端和多资源服务的统一认证与鉴权的问题,以及整合较为完善的数据权限控制。
配套Nacos注册服务中心,可高效实现多服务实例的扩展与负载,为微服务实现良好基础。支持市面主流数据库和支持多库操作,以及支持事务的控制处理,保证数据安全可信赖!