Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[BlogCore操作文档3] Log4net:多种类型日志实现持久化

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

作者头像
老张的哲学
发布于 2023-08-23 05:45:31
发布于 2023-08-23 05:45:31
45400
代码可运行
举报
文章被收录于专栏:NetCore 从壹开始NetCore 从壹开始
运行总次数:0
代码可运行

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

https://note.youdao.com/s/SWmyu8tC

整个框架已经集成了多种日志记录:包括审计、异常、请求响应、服务操作、Sql执行语句等,并自动持久化到数据库表。

并且都配置到了appsettings.json配置文件中,然后打开或关闭对应的开关即可。

同时支持输出到控制台、文件、数据库等三种模式;

一、相关服务注册

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.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
代码运行次数:0
运行
AI代码解释
复制
// 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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【BlogBook书】6、Serilog:日志管理
框架高度集成Serilog,继承ASP.NETCore官方的ILogger<>接口,作为记录整个系统应用生命周期的日志工具,涵盖了平时企业应用的常见场景:
老张的哲学
2024/02/22
3540
【BlogBook书】6、Serilog:日志管理
【5】基于Log4Net的日志系统
阅读目录 日志系统应具备的特性 Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置 不管是Web应用程序还是WinForm应用程序,Visual Studio所带的调试功能都是足够强大,足以应付开发中的各种调试需求。但是,对于已经发布的应用,要记录错误、记载运行中的各种状态信息,就需要依靠日志系统了。 日志系统应具备的特性 一个好的日志系统,应该具备以下的特性: 1、运行稳定。因为日志的作用就是要在系统出现各种
用户1075292
2018/01/23
1.7K0
【5】基于Log4Net的日志系统
带你深入Java Log框架,彻底搞懂Log4J、Log4J2、LogBack,SLF4J
使用过Log4J和LogBack的同学肯定能发现,这两个框架的设计理念极为相似,使用方法也如出一辙。其实这个两个框架的作者都是一个人,Ceki Gülcü,俄罗斯程序员。
码老思
2023/10/19
5.5K0
带你深入Java Log框架,彻底搞懂Log4J、Log4J2、LogBack,SLF4J
.NET 使用NLog增强日志输出
不管你是开发单体应用还是微服务应用,在实际的软件的开发、测试和运行阶段,开发者都需要借助日志来定位问题。因此一款好的日志组件将至关重要,在.NET 的开源生态中,目前主要有Serilog、Log4Net和NLog三款优秀的日志组件,但相较而言,NLog功能更加强大且扩展性强,允许开发者在仅修改配置文件的方式来丰富日志输出内容,支持多种日志格式,包括XML、JSON、YAML等,支持多种输出目标,包括文件、数据库、控制台、Loki、ElasticSearch等,支持自定义日志格式,支持日志级别,支持异步写入等功能。
圣杰
2023/03/10
3K0
.NET 使用NLog增强日志输出
[BlogCore操作文档1] AppSettings:参数配置获取
很荣幸,也很感谢在过去的四年多的时间,大家对BCVP社区、对BlogCore项目的支持,我也一直没有太推广,也没有申请其他的组织的推广资源,都是靠各位精神股东的默默支持和口口相传,才一直坚持着✨,目前Github的Star数4.2k,Fork数1.2k,也算是国内NetCore项目中,坚持的比较长的了,虽然我在2022年维护不多。不过好在有开发组其他几位小伙伴的帮忙,也是提交了一些Commit的。
老张的哲学
2023/08/23
3610
[BlogCore操作文档1] AppSettings:参数配置获取
.NET Core 日志记录程序和常用日志记录框架
首先,打开VS2019新建一个ASP.NET Core Web Api项目,项目创建好后会有一个集成好的天气预报的类和控制器,接下来,我们的方法就在天气控制器里完成。
GoodTime
2024/03/05
7230
.NET Core 日志记录程序和常用日志记录框架
在 EF 5 中跟踪SQL和缓存数据
在EF4和EF5中需要跟踪执行SQL和缓存数据,微软官方有一个名为EFProviderWrappers的扩展示例非常值得学习,EFProviderWrappers包含EFTracingProvider和EFCachingProvider,前者用于跟踪EF中增删改查的SQL语句,后者用于将EF查询的结果自动进行缓存,缓存策略过期时间可由开发者自己指定,目前这两个扩展只支持EF4和EF5,因为EF6中微软已提供拦截器,开发者可自行开发拦截扩展,此示例演示如何通过ADO.NET提供程序接口扩展EF框架。 提供程序
逸鹏
2018/04/09
1.2K0
在 EF 5 中跟踪SQL和缓存数据
[C#]使用log4net记录日志
说明:本程序演示如何利用log4net记录程序日志信息。log4net是一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中。
CNXY
2019/05/24
2.8K0
log4net 记录MVC监控日志
  由于MVC自身的特点,可以让我们记录每一个Controller下Action的执行时间以及View视图渲染完成的时间,本文采用log4net记录MVC每个Action的执行时间和View视图渲染完成时间,以及请求Action时post或get的数据。这样通过日志记录的时间方便我们定位哪一个Action和View执行的时间过长,进而采取优化的手段。
写代码的猿
2019/04/11
7640
log4net 记录MVC监控日志
C# winform之Log4Net的使用
当我们将asp程序部署到远程服务器上的时候,如果遇到程序错误,如何能快速的判断我们程序的错误呢。所以--> Log4Net作为记录日志的一大神器,不得不学会熟练使用啊! 没有那么多的原理,照猫画虎的使用,保证你也能成功的使用这么简单的日志记录工具。
zls365
2020/08/19
3.8K0
C# winform之Log4Net的使用
.Net微服务实践(二):Ocelot介绍和快速开始
上篇.Net微服务实践(一):微服务框架选型 我们对微服务框架整体做了介绍,接下来我们从网关Ocelot开始,一一开始实践
我思故我在
2020/04/08
1.2K0
ASP.NET Core 日志(Logging)详解:从基础到实战
在 ASP.NET Core 中,日志(Logging) 是一个内置且高度可扩展的机制,用于记录应用程序的运行时信息、错误、警告或其他调试数据。它帮助开发者监控和诊断应用行为,尤其在开发、测试和生产环境中至关重要。
郑子铭
2025/07/16
1450
ASP.NET Core 日志(Logging)详解:从基础到实战
ASP.NET Core中使用Graylog记录日志
通常POST请求数据都在请求体中,ASP.NET Core中HttpRequest类型的Body属性是HttpRequestStream类型,该类型源码在Github上可以看到,但在Google和微软关方文档中都没搜索到。反编译Microsoft.AspNetCore.Server.Kestrel.Core.dll只找到了同样继承自ReadOnlyStream的FrameRequestStream
雪飞鸿
2019/02/25
1.1K0
ASP.NET Core 6框架揭秘实例演示[15]:针对控制台的日志输出
针对控制台的ILogger实现类型为ConsoleLogger,对应的ILoggerProvider实现类型为ConsoleLoggerProvider,这两个类型都定义在 NuGet包“Microsoft.Extensions.Logging.Console”中。ConsoleLogger要将一条日志输出到控制台上,首选要解决的是格式化的问题,具体来说是如何将日志消息的内容荷载和元数据(类别、等级和事件ID等)格式化成呈现在控制台上的文本。针对日志的格式化由ConsoleFormatter对象来完成。(本篇提供的实例已经汇总到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2022/05/09
9080
ASP.NET Core 6框架揭秘实例演示[15]:针对控制台的日志输出
log4net使用注意事项
1配置Log4net Log4net的配置文件有几种使用方式,这里将配置log4net的部分独立出来,即关于log4net的配置独立成文件log4net.config。 1)写入Mysql log4net.config文件配置 <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <configSections> <secti
甜橙很酸
2018/03/08
1.5K0
log4net使用注意事项
ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门
本篇代码以下代码进行调整:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02
KenTalk
2019/04/12
2K0
ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门
用十行代码快速创建权限管理系统
当然还有appsettings.json配置文件,和种子数据文件,这个不算代码之内。
老张的哲学
2022/04/11
6290
用十行代码快速创建权限管理系统
Log4Net日志记录两种方式
     log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。      log4net是Apache软件基金会Apache Logging Services工程的一部分。Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务。(f:百度百科)
跟着阿笨一起玩NET
2018/09/19
1.5K0
Log4Net日志记录两种方式
Log4Net 配置
core中使用log4net与.Net中有所不同,在Startup类中声明一个ILoggerRepository类型
莫问今朝
2018/08/31
1K0
asp.net core之日志
日志记录在应用程序开发中起着至关重要的作用,它可以帮助开发人员诊断和调试问题,同时也是监控和性能优化的重要工具。ASP.NET Core 提供了强大且灵活的日志记录功能,本文将详细介绍ASP.NET Core 中的日志记录,包括日志配置、日志类别级别、使用场景以及日志记录提供程序。
饭勺oO
2023/10/18
4240
asp.net core之日志
相关推荐
【BlogBook书】6、Serilog:日志管理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验