Konfiguracja nlog

0

Aby nlog działał muszę dodać w pliku Program.cs poniższy kod. Problem jednak jest taki, że nie mam pliku Startup. Usunąłem linijkę UseStartUp<Startup>(), ale wtedy podczas użycia loggera pojawia się następujący błąd: No application configured. Please specify startup via IWebHostBuilder.UseStartup, IWebHostBuilder.Configure, injecting IStartup or specifying the startup assembly via StartupAssemblyKey in the web host configuration.” Będę wdzięczny za pomoc.

var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger(); 
try
{
    logger.Debug("init main function");
    CreateWebHostBuilder(args).Build().Run();
}
catch (Exception ex)
{
    logger.Error(ex, "Error in init");
    throw;
}
finally
{
    NLog.LogManager.Shutdown();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .ConfigureLogging(logging =>
        {
            logging.ClearProviders();
            logging.SetMinimumLevel(LogLevel.Information);
        })
        .UseNLog();
0

Nie masz pliku Startup czyli że korzystasz z minimal API z NET 6? Jeśli tak to nie korzystaj, miej normalne combo Program+Statrup, problem solved.

0

@Saalin: Mam Visual Studio 2022 Community i w każdym projekcie asp.net nie ma tutaj pliku Startup. A jak utworze samodzielnie ten plik i przekopiuje kod z neta to będzie działać?

0

Dementuje plotki, że w każdej templatce VS2022 nie ma Startup, ale faktycznie nie jest łatwo go znaleźć. Zaraz wrzucę jak go znaleźć.

Edit:
ASP .NET Core Web Api
screenshot-20220211121931.png

0

Nie masz Startup.cs, ale gdybyś tylko poczytał różnice pomiędzy ASP.NET Core 6, a wcześniejszymi wersjami to nie stanowiłoby to dużego problemu.

W uproszczonej templatce możesz tak włączyć NLoga - builder.Host.UseNLog();.

MrKluska1111 napisał(a):

@Saalin: Mam Visual Studio 2022 Community i w każdym projekcie asp.net nie ma tutaj pliku Startup. A jak utworze samodzielnie ten plik i przekopiuje kod z neta to będzie działać?

Jak przekopiujesz myśląc to powinno. Ale większość twoich problemów wynika niestety z bezmyślnego kopiowania :P

0

@some_ONE: To daj jakieś wskazówki jak kopiować myśląc. Oświeć mnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1