- 安装Serilog的nuget包:Serilog.Extensions.Logging和Serilog.Sinks.File。
- 在程序入口处,添加如下代码来创建LoggerFactory和Serilog中间件:
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddSerilog(new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.File("app.log", rollingInterval: RollingInterval.Day)
.CreateLogger());
});
- 注册LoggerFactory,例如在ASP.NET Core的Startup.cs文件中,将loggerFactory注册到DI容器中:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ILoggerFactory>(loggerFactory);
services.AddMvc();
}
- 在需要记录日志的地方,通过依赖注入ILogger接口来输出日志信息。例如在控制器中:
[ApiController]
public class HomeController : ControllerBase
{
private readonly ILogger _logger;
public HomeController(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<HomeController>();
}
[HttpGet("/")]
public IActionResult Index()
{
_logger.LogInformation("Hello World!");
return Ok();
}
}
这样就可以将日志消息记录到文件中。