Serilog 是一个强大的日志库,它提供了灵活的日志记录方法。
Serilog的ILogger实现是线程安全的,即可以从多个线程同时记录日志,不需要额外手动加锁。Serial会确保日志写入的顺序不会混乱。
无论在那种项目下使用Serilog,我们首先要添加Serilog 的NuGet包
//.net core项目要添加
dotnet add package Serilog.AspNetCore dotnet add package Serilog.Sinks.Consoledotnet add package Serilog.Sinks.File//异步日志写入
dotnet add package Serilog.Sinks.Async
然后,使用Log.Logger初始化日志配置 :
using Serilog;var builder = WebApplication.CreateBuilder(args);// 配置 Serilog
Log.Logger = new LoggerConfiguration().MinimumLevel.Debug() // 设置日志级别.WriteTo.Console() // 输出日志到控制台.WriteTo.File("Logs/log.txt", rollingInterval: RollingInterval.Day) // 输出到文件并每天滚动.Enrich.FromLogContext().Enrich.WithProperty("Application", "MyApp") // 添加自定义属性.Enrich.WithPr