.NET6.0的日志组件Log4net

前言:不允许让没有任何日志监控的项目上线,所以说真正开发起来必须要有监控,相当于多一双眼睛帮着我们看项目在运行时会不会有什么问题,我们要不断的在每个环节写日志,这样发生异常我们可以快速知道哪里有问题了,就可以快速解决。

目录

一、Log4net介绍

二、Log4net日志级别

三、Log4net写文本日志

四、Log4net日志写SqlServer


一、Log4net介绍

       Log4net是一个开源日志记录组件。是.Net下一个非常优秀的开源日志记录组件。Log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。通过它可以将.Net应用程序的日志记录到多种介质之中,包括:文件、控制台、window事物日志和数据库中,并且我们还可以设置和标示日志的级别等。和其它大多开源组件一样,Log4net也是从Java项目过度而来。Log4net来源于java应用中的Log4J。

二、Log4net日志级别

       日志的本质就是我们整个系统里面当前运行的一个状况,那么日志级别根据它的控制级别一共从低到高分为了:ALL→DEBUG→INFO→WARN→ERROR→FATAL→OFF,那这些级别都代表什么呢?DEBUG就是调试状态,INFO相当于平常的危险程度,WARN有一些危险,ERROR就是系统有异常了,FATAL就是非常严重了,可能系统已经崩了,我们在配置的时候可以去过滤一些级别。

三、Log4net写文本日志

1、我们要在我们的项目上右键点击管理NuGet程序包

2、在搜索框搜索Log4net进行安装

.NET6.0的日志组件Log4net_第1张图片

安装好了之后我们就会发现在项目目录里的依赖包下多了个log4net,但是现在还不够,我们得去搭配配置文件去使用

.NET6.0的日志组件Log4net_第2张图片

 3、可以去官网下载配置文件,也可以复制下面代码为Log4net.config文件,把这个文件复制进项目目录,配置文件右键属性选择设置为始终复制,因为我们最终这个配置文件要用到我们项目的运行目录下的。Apache log4net – Apache log4net: Config Example - Apache log4net

 
 
    
   
    
     
      
      
      

      
      
      

      
      

      
       

      
      
       
      
      
       
      
      
      
      
       
      
      
      
      

      
      

      
      

      

      
      

      
      
 
      
      

  
      
        
        
      
    

    
    
      
      
      
    
  

4、接下来我们就要读取Log4net里面的相关配置,然后支持他的一个使用。其实我们可以直接基于这个builder,这个builder其实就是WebApplicationBuilder,本身它这里就是有日志的

.NET6.0的日志组件Log4net_第3张图片

我们可以看到AddLog4Net()是失效的(正常下载了一个程序集这里应该有红线,我为了方便两个一起都下载了)

.NET6.0的日志组件Log4net_第4张图片

于是我们再次从NuGet引入Microsoft.Extensions.Logging.Log4Net.AspNetCore,下载安装后红线就没有了,就生效了,就和上面的图片一样了。

.NET6.0的日志组件Log4net_第5张图片

 5、要是我们把Log4Net文件放到项目目录下的话,就能默认读取。但是你要是把它放在文件夹里头,就得在后面写上路径。

.NET6.0的日志组件Log4net_第6张图片

 6、配置完成之后咱们可以去新建一个控制器和视图看看咱们是不是配置成功了,在新建的控制器里构造一个函数,输入测验代码,并运行。输入视图文件地址,按回车。然后打开我们的项目根目录在bin/debug/net6.0目录下可以看到log文件夹,里面有个log.txt文件,打开就可以看到我们写的东西。

.NET6.0的日志组件Log4net_第7张图片

 .NET6.0的日志组件Log4net_第8张图片

.NET6.0的日志组件Log4net_第9张图片

 总结一下Log4net的文本文件配置过程

(1)Nuget引入程序包

(2)准备好配置文件

(3)配置读取配置文件生效

(4)注入得到Log4net实例开始写日志

四、Log4net日志写SqlServer

        Log4net日志不光可以写SqlServer,还可以写MySQL、Oracle数据库等等,那么我们下面就看一看Log4net日志是怎么去写SqlServer日志的。

1、第一步还是去NuGet里面去下载安装一下程序集

.NET6.0的日志组件Log4net_第10张图片

 2、程序集引入进来之后,我们就要去修改配置文件,让它支持写数据库,打开我们的配置文件,就可以看到有这么一行节点代码,这行节点代码就代表着我们使用的是哪种类型记录日志的写法,比如我是写数据库类型的呢?还是写文本日志类型的呢?就看这个节点。

.NET6.0的日志组件Log4net_第11张图片

 然后我们把SqlServer的相关配置代码引用进来,还是可以去官网下载,我把官网的这一部分追加配置放到下面了,直接复制进去也是可以的。


    
    
    
    
    
        
        
        
    
    
        
        
        
        
            
        
    
    
        
        
        
        
            
        
    
    
        
        
        
        
            
        
    
    
        
        
        
        
            
        
    
    
        
        
        
        
    

粘贴好之后我们就发现代码里红框区域和我们刚才下载的程序集一样,这个就是数据库驱动程序,这就是我们刚才为什么要下载程序集的原因。

.NET6.0的日志组件Log4net_第12张图片

 3、我们需要在root里加入支持数据库写日志的规则,其实到目前为止,Log4net已经同时支持文本和数据库写日志了打开SqlServer,要是没有可以去官网下个免费版,然后找教程安装一下。SQL Server 下载 | Microsoft

.NET6.0的日志组件Log4net_第13张图片

4、我这里是添加了一个在网上找的数据库脚本,然后还是运行下一控制器里的代码。我们就可以在数据库里看到运行结果。

.NET6.0的日志组件Log4net_第14张图片

项目根目录在bin/debug/net6.0目录下可以看到log文件夹,里面有个log.txt文件,打开就可以看到我们写的东西。

.NET6.0的日志组件Log4net_第15张图片

 总结一下Log4net的数据库配置过程

(1)Nuget引入程序包

(2)修改配置文件,支持写数据库

(3)初始化数据库日志表

(4)注入得到Log4net实例开始写日志

你可能感兴趣的:(.NET,log4j,.netcore,.net,学习)