ASP.NET 5: Как настроить путь журналов в Microsoft.Extensions.Logging
Я работаю над веб-приложением MVC6, и я новичок в ASP.NET 5. Я вижу, что ведение журнала (Microsoft.Extensions.Logging) используется во многих местах (например, AccountController.cs) в ASP.NET 5 шаблон веб-приложения по умолчанию, но я не мог понять, где настроить путь к созданному файлу журнала. Ниже приведены настройки в файле appsettings.json.
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Verbose",
"System": "Information",
"Microsoft": "Information"
} }
Достаточно ли добавить параметр в этот раздел? Если да, как называется этот параметр? Если нет, как это сделать?
Ранее я использовал Log4Net, и настройки были сделаны внутри файла logger.config.
2 ответа
ILogger - это просто абстракция, для входа в файл необходимо реализовать конкретный регистратор (log4net, serilog, ...).
public Startup(IHostingEnvironment env)
{
// Some other code
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug().WriteTo.File("YOUR FILE PATH HERE")
.CreateLogger();
}
В методе configure (здесь используется serilog):
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddSerilog();
// Some other code
}
Используйте Serilog, добавьте ведение журнала файлов в приложения ASP.NET Core с помощью одной строки кода.
Установите Serilog.Extensions.Logging.File
Host.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, builder) =>
{
builder.AddFile("Logs/myapp-{Date}.txt");
})