附言:下面的代码运行良好。问题出在使用者身上。@jpgrassi提供的答案指引我朝着正确的方向解决了问题。
我在program.cs中有以下代码:
public class Program {
public static void Main(string[] args) {
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); })
.UseStartup<Startup>();
}
并且在 appsettings.json 文件中:
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Default": "Information",
"Microsoft": "Information",
"System": "Information"
}
},
"WriteTo": [
{
"Name": "RollingFile",
"Args": {
"pathFormat": "log-{Date}.txt",
}
}
]
},
"AllowedHosts": "*"
}
在控制器中,我记录了一个日志
_logger.LogWarning("foo");
,但是该文件没有被写入到任何地方,在我的视线范围内也没有任何错误。 我已经从Nuget导入了以下软件包:Serilog、Serilog.AspNetCore、Serilog.Settings.Configuration、Serilog.Sinks.RollingFile。 我错过了什么?