aspnet/Logging

Is UseLoggerFactory method deprecated?

neman opened this issue · 2 comments

neman commented

Since AspNetCore 2.0 there is a new way of configuring logging

 public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .ConfigureLogging(builder =>
                {
                    builder.SetMinimumLevel(LogLevel.Trace);
                    builder.AddConsole();
                })
                .UseStartup<Startup>();
    }

But previously I used UseLoggerFactory method to start logging early as I can

 public class Program
    {
        public static void Main(string[] args)
        {
            //filter what level of logging you want to see
            var loggerFactory = new LoggerFactory().AddConsole((str, level) =>
            {
                return level >= LogLevel.Trace;
            });

            var log = loggerFactory.CreateLogger<Program>();

            log.LogTrace("Before building host");

            var host = new WebHostBuilder()
                .UseKestrel()
                .UseLoggerFactory(loggerFactory)
                .UseStartup<Startup>()
                .Build();

            log.LogTrace("After building host");

            host.Run();

            log.LogInformation("Host is shut down");
        }
    }

How can I achieve the same with the new ConfigureLogging method so I can start logging before building and running webhost?

(And unfortunately, there's no way to do that with ConfigureLogging.)