前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[BlogCore操作文档3] Log4net:多种类型日志实现持久化

[BlogCore操作文档3] Log4net:多种类型日志实现持久化

作者头像
老张的哲学
发布2023-08-23 13:45:31
2660
发布2023-08-23 13:45:31
举报
文章被收录于专栏:NetCore 从壹开始

本文最新的内容,请查看官方操作说明文档,可能有增减:

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注册服务中心,可高效实现多服务实例的扩展与负载,为微服务实现良好基础。支持市面主流数据库和支持多库操作,以及支持事务的控制处理,保证数据安全可信赖!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档