Попытка настроить Serilog с помощью консольного приложения .net core 2 с помощью универсального HostBuilder - PullRequest
0 голосов
/ 26 сентября 2019

Пытаясь следовать документам здесьhttps://github.com/serilog/serilog-extensions-hosting

Есть ли ссылки на эти пакеты в моем проекте?

<PackageReference Include="Serilog" Version="2.8.0" />
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />

Когда я пытаюсь добавить строку UseSeriLog, она не может быть распознана

Ошибка CS1061 «IHostBuilder» не содержит определения для «UseSeriLog», и нет доступного метода расширения «UseSeriLog», принимающего первый аргумент типа «IHostBuilder» (вы пропустили директиву usingили ссылка на сборку?)

Мой основной метод:

private static async Task Main(string[] args)
    {
        var isService = !(Debugger.IsAttached || args.Contains("--console"));

        Log.Logger = new LoggerConfiguration()
                      .WriteTo.File(@"d:\temp\consoleapp.log")
                      .CreateLogger();

        var hostBuilder = new HostBuilder()
         .ConfigureHostConfiguration(configHost => { configHost.AddCommandLine(args); })
         .UseContentRoot(@"D:\Services\BldgRunner\")
         .ConfigureAppConfiguration((hostingContext, config) =>
         {

             var env = hostingContext.HostingEnvironment;
             config.AddCommandLine(args);
             config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
             config.AddEnvironmentVariables();
         })
         .ConfigureServices((hostContext, services) =>
         {
             //Inject additional services as needed
             services.AddHostedService<JobRunner>();
         })
         **.UseSeriLog()**
         .Build();


        if (isService)
        {
            await hostBuilder.RunAsServiceAsync();
        }
        else
        {
            await hostBuilder.RunConsoleAsync();
        }
    }

1 Ответ

1 голос
/ 26 сентября 2019

Вам необходимо установить Serilog.Extensions.Hosting для использования с общим хостом.

<PackageReference Include="Serilog.Extensions.Hosting" Version="3.0.0" />
...