Я хочу использовать Serilog в своем приложении ASP. NET Core для входа в файл. Я установил пакет Serilog.AspNetCore
(он имеет зависимости от Serilog.Settings.Configuration
и Serilog.Sinks.File
, поэтому я думаю, что мне не нужен какой-либо другой пакет).
Моя цель - добиться входа в мои контроллеры, такие как это:
...
private ILogger _log;
public MyController(ILogger<MyController> logger)
{
_log = logger;
}
...
public ActionResult<MyResponse> Foo([FromRoute] Guid fooGuid)
{
_log.LogError("error test");
}
В моем appsettings.json
у меня есть эта конфигурация:
"Serilog": {
"Using": [],
"MinimumLevel": "Information",
"WriteTo": [
{ "Name": "Console" },
{
"Name": "File",
"Args": {
"patch": "D:\\Log\\log.log"
}
}
],
"Application": "Centralized logging application"
},
"AllowedHosts": "*"
и мой Program.cs
выглядит так:
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging((context, logging) =>
{
logging.ClearProviders();
logging.AddSerilog().AddConfiguration(context.Configuration);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
Я думаю проблема в файле Program.cs
. Какой самый простой способ, как добиться такого рода записи в файл? Благодаря.