Запись логов в БД

Всем добрый день. Хочу настроить логирование сервиса в БД Postgres с помощью ILogger. Сервис логгинга добавил. Сейчас запись идет в консоль. Как настроить запись логов БД?

        public void ConfigureServices(IServiceCollection services)
    {services.AddLogging();}

Ответы (1 шт):

Автор решения: Сергей Татевосян

По ссылке Logging with NLog and PostgreSQL

можно найти основную инструкцию по настройке NLOG с записью логов в БД Postgress и txt. С некоторыми исключениям для тех кто работает с Net.Core 2.2 (У меня, например, VS-2017). В классе Startup прописываем:

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}

и

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    GlobalDiagnosticsContext.Set("configDir", $"{Environment.CurrentDirectory}\\");

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
    }


    app.UseDefaultFiles();
    app.UseStaticFiles();
}

Для тех у кого Net.Core 3.0 можно брать весь код по ссылке.

→ Ссылка