使用Serilog来实现日志记录

 

先安装Serilog六件套神装包:

 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

也可以对个别相应的包进行删除等,都是可以的。例如,标注的1是读取配置文件的,如果不需要通过配置文件进行操作,就可以使用这个包。2是打印到控制台的,如果不需要打印到控制台,也可以不引用。3是写入到文件的,如果不需要写入到文件,也是可以不提供的。我在此处全部引入,方便可以使用多种日志记录方法。Async是异步写入日志,一般需要引入。

我们先在启动项目的Program类里面,新增一些对Serilog的支持操作:

 

 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

 

然后,在控制器里面添加对Logger<T>的依赖注入,并写一些不同日志等级的日志记录功能:

 

 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

 

然后启动项目,并执行一下该api方法,查看到日志打印的结果:

 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

由于默认消息记录级别是Warn,所以debug消息类型就看不见了。

以及写入文本的日志,由于设定输出到本目录,所以可以在解决方案里面直接看见:

 

 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

 

接下来使用配置文件的方式进行日志操作:

 七、.net core(.NET 6)使用Serilog进行配置和实现日志记录

 

本部分serilog配置文件代码:

"Serilog": {
    "MinimumLevel": {
      "Default": "Debug", //最小日志记录级别
      "Override": { //系统日志最小记录级别
        "Default": "Warning",
        "System": "Warning",
        "Microsoft": "Warning"
      }
    },
    "WriteTo": [
      { "Name": "Console" }, //输出到控制台
      {
        "Name": "Async", //异步写入日志
        "Args": {
          "configure": [
            {
              "Name": "File", //输出文件
              "Args": {
                "path": "log/log.txt",
                "outputTemplate": "{NewLine}Date:{Timestamp:yyyy-MM-dd HH:mm:ss.fff}{NewLine}LogLevel:{Level}{NewLine}Class:{SourceContext}{NewLine}Message:{Message}{NewLine}{Exception}",
                "rollingInterval": "3" //日志文件生成精度:1:年  2:月 3:日 4:小时
              }
            }
          ]
        }
      }
    ]
  }
View Code

相关文章:

  • 2022-12-23
  • 2022-02-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
  • 2021-08-03
猜你喜欢
  • 2022-12-23
  • 2019-12-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2022-01-13
相关资源
相似解决方案