Reputation: 3881
I am trying to enable logging in Identity Server 4 by following their guide in the docs that uses Serilog
. Not sure if the docs are out of date but there are two extension methods .UseSerilog()
and .Build()
from CreateWebHostBuilder()
that throw an error, though I have the Serilog
package installed:
public static void Main(string[] args)
{
Console.Title = "IdentityServer4.Postgres";
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
.MinimumLevel.Override("System", LogEventLevel.Warning)
.MinimumLevel.Override("Microsoft.AspNetCore.Authentication", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}", theme: AnsiConsoleTheme.Literate)
.CreateLogger();
var seed = args.Contains("/seed");
if (seed)
{
args = args.Except(new[] { "/seed" }).ToArray();
}
var host = CreateWebHostBuilder(args).Build();
if (seed)
{
var config = host.Services.GetRequiredService<IConfiguration>();
var connectionString = config.GetConnectionString("DefaultConnection");
SeedData.EnsureSeedData(connectionString);
return;
}
host.Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseSerilog()
.Build();
}
Update
Upvotes: 2
Views: 1465
Reputation: 13234
The UseSerilog()
extension method is provided by the NuGet package Serilog.AspNetCore. You likely need to add this NuGet package to your project, then add a using Serilog
statement.
Upvotes: 2