我得到以下例外:
无法解析参数“Microsoft.Extensions.Logging.ILogger logger”
"At the moment (9/28/18), Serilog.AspNetCore doesn't get involved in DI/OoC configuration"
Serilog.Core.Logger
作为
Microsoft.Extensions.Logging.ILogger
在Autofac DI容器中进行.NET核心类库中的解析?
以下是我当前的实现:
public class Program
{
public static int Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
//.WriteTo.MSSqlServer(Configuration.GetConnectionString("LogConnection"), "_logs", columnOptions: columnOptions)
.WriteTo.Console()
//.WriteTo.ApplicationInsightsEvents("<YOUR_APPLICATION_INSIGHTS_KEY>")
.CreateLogger();
try
{
Log.Information("Starting web host");
var host = CreateWebHostBuilder(args).Build();
host.Run();
return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
Log.CloseAndFlush();
}
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseSerilog();
}
public class Startup
{
public IServiceProvider ConfigureServices(IServiceCollection services)
{
...
_builder.Register<ILogger>((c, p) =>
{
return new LoggerConfiguration()
.WriteTo.RollingFile(
AppDomain.CurrentDomain.GetData("DataDirectory").ToString() + "/Log-{Date}.txt")
.CreateLogger();
}).SingleInstance();
}
}