以下是類別庫的一部分。我安裝了以下軟體包,但仍然無法解決ConfigureHostBuilder。我可以在哪個包中找到它?
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
</ItemGroup>
public static class LoggingExtensions
{
public static void ConfigureLogging(this ConfigureHostBuilder builder)
{
const string outputTemplate =
"[{Timestamp:HH:mm:ss.fff} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}";
builder.UseSerilog((_, cfg) =>
cfg
.MinimumLevel.Information()
.MinimumLevel.Override("System", LogEventLevel.Error)
.MinimumLevel.Override("Microsoft", LogEventLevel.Error)
.Enrich.FromLogContext()
.WriteTo.Console(outputTemplate: outputTemplate));
}
}
uj5u.com熱心網友回復:
ConfigureHostBuilder是一個方法,而不是一個類。您可能打算使用IHostBuilder.
UseSerilog是IHostBuilder. 它是Serilog.Extensions.Hosting包的一部分。
包的登錄頁面顯示了在IHostBuilder實體上使用的方法:
public static IHost BuildHost(string[] args) =>
new HostBuilder()
.ConfigureServices(services => services.AddSingleton<IHostedService, PrintTimeService>())
.UseSerilog() // <- Add this line
.Build();
}
您的方法應更改為
public static class LoggingExtensions
{
public static void ConfigureLogging(this IHostBuilder builder)
{
const string outputTemplate =
"[{Timestamp:HH:mm:ss.fff} {Level:u3}] {Message:lj} {Properties:j}{NewLine}{Exception}";
builder.UseSerilog((_, cfg) =>
cfg
.MinimumLevel.Information()
.MinimumLevel.Override("System", LogEventLevel.Error)
.MinimumLevel.Override("Microsoft", LogEventLevel.Error)
.Enrich.FromLogContext()
.WriteTo.Console(outputTemplate: outputTemplate));
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/518526.html
標籤:C#。网
上一篇:將復雜的json反序列化為物件
下一篇:將大類分解為更小的方法
