Passar argumentos da linha de comando para a classe Startup no ASP Core

Eu tenho argumentos passados através da linha de comando

private static int Main(string[] args)
{

    const string PORT = "12345"    ;

    var listeningUrl = $"http://localhost:{PORT}";

    var builder = new WebHostBuilder()
        .UseStartup<Startup>()
        .UseKestrel()
        .UseUrls(listeningUrl);

    var host = builder.Build();
    WriteLine($"Running on {PORT}");
    host.Run();

    return 0;
}

Um desses argumentos é um diretório de saída de log. Como faço para obter esse valor no meuStartup classe para que eu possa gravar neste diretório quando receber uma solicitação?

Eu gostaria de evitar o uso de uma classe estática. Um serviço que fornece o valor seria o caminho certo? Em caso afirmativo, como obtenho serviços injetados no meu middleware?

questionAnswers(1)

yourAnswerToTheQuestion