asp.net-coreloggingasp.net-core-webapi

Logging in ASP.NET Core Main


I've an ASP.NET Core 3 WebAPI with a simple Main and a CreateHostBuilder.

public static void Main(String[] args)
{
   CreateHostBuilder(args).Build().Run();
}

Later logging in my controllers etc. works fine.

But how can I log possible errors in the Main?


Solution

  • You can get get the logger using

    // Build the host and configurations
    var host = CreateWebHostBuilder(args).Build();
    using (var scope = host.Services.CreateScope())
    {
        // Get the registered logger service
        var logger = scope.ServiceProvider.GetRequiredService<ILogger<YourClassName>>();
        logger.LogInformation("Logger test");
    }
    // finally run the host 
    host.Run();