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 写入的系统日志.