写点什么

Util 应用框架基础(六)- 日志记录 - File

作者:何镇汐
  • 2023-11-13
    四川
  • 本文字数:833 字

    阅读完需:约 3 分钟

File


日志记录到文件


本节介绍 Util 应用框架将日志记录到文件的配置方法.

概述

将日志写入文本文件,不方便查看和管理,但在开发阶段可以作为临时查看日志的手段.

日志配置


  • 引用 Nuget 包

Nuget 包名: Util.Logging.Serilog

  • AddSerilog

  • 使用 AddSerilog 扩展方法启用 Serilog 日志操作.

  • 默认配置不带参数.


var builder = WebApplication.CreateBuilder( args ); builder.AsBuild().AddSerilog();


  • 如果要清除默认设置的日志提供程序,传入 true.

  • Asp.Net Core 默认日志提供程序会把消息输出到控制台,你可以清除它们.


builder.AsBuild().AddSerilog( true );


  • 设置应用程序名称.

  • 对于微服务应用,记录产生日志的应用名称,能方便排查问题.


builder.AsBuild().AddSerilog( "权限服务" );


  • 你也可以使用委托设置参数.

  • 清除默认设置的日志提供程序


builder.AsBuild().AddSerilog( t => t.IsClearProviders = true );

  • . 添加 appsettings 配置节


  • appsettings.json 配置文件添加 Serilog 配置节.

{  "Logging": {    "LogLevel": {      "Default": "Trace"    }  },  "Serilog": {    "WriteTo": [      {        "Name": "File",        "Args": {          "path": "c:\\log\\log.txt",          "outputTemplate": "{LogLevel}: {TraceId}  >>  [{SourceContext}] [{Timestamp:yyyy-MM-dd HH:mm:ss.fff}] {Duration}{NewLine}{Message}{NewLine}{Exception}{NewLine}"        }      }    ]  }}
复制代码


  • WriteTo 指定日志接收器为 File.

  • path 指定了日志文件的路径,这里输出到 c:\log\log.txt.

  • outputTemplate 指定输出消息的格式:

  • {LogLevel} 显示日志级别.

  • {TraceId} 显示跟踪号.

  • {SourceContext} 显示日志类别.

  • {Timestamp:yyyy-MM-dd HH:mm:ss.fff} 显示时间并指定时间格式.

  • {Duration} 显示请求的执行时间.

  • {Message} 显示日志消息正文.

  • {Exception} 显示异常消息.

  • 还有很多其它配置项,可以参考 Serilog 文档.

查看日志文件

配置完成后,可以启动你的项目,查看日志文件 c:\log\log.txt.


可以看到由 Asp.Net Core 写入的系统日志.



用户头像

何镇汐

关注

15年以上.Net开发经验,擅长代码封装 2023-11-01 加入

15年以上.Net开发经验,擅长代码封装,主要作品为Util应用框架

评论

发布
暂无评论
Util应用框架基础(六)- 日志记录 - File_开源_何镇汐_InfoQ写作社区