示例
1、安装NuGet包到Services项目中
NuGet\Install-Package Serilog.Extensions.Hosting -Version 8.0.0
2、PersonsService.cs中引用Serilog命名空间,添加私有字段,并添加到构造函数
using Serilog;
//private field
private readonly IPersonsRepository _personsRepository;
private readonly ILogger<PersonsService> _logger;
private readonly IDiagnosticContext _diagnosticContext;
//constructor
public PersonsService(IPersonsRepository personsRepository, ILogger<PersonsService> logger = null, IDiagnosticContext diagnosticContext = null)
{
_personsRepository = personsRepository;
_logger = logger;
_diagnosticContext = diagnosticContext;
}
3、GetFilteredPersons()方法中,return之前添加如下代码
_diagnosticContext.Set("Persons", persons);
return persons.Select(temp => temp.ToPersonResponse()).ToList();
4、Program.cs中添加如下代码,表示响应结束后,添加IDiagnosticContext日志
var app = builder.Build();
app.UseSerilogRequestLogging();
Gitee获取源码: