【发布时间】:2017-10-27 14:37:51
【问题描述】:
在我们的项目中实现 serilog。我们已经实现了 AspNetCoreRateLimit 来限制对 API 的调用。该项目是一个 .Net Core 项目,但由于某些依赖项而针对 Net461 构建。
在 serilog 之前,api 很好。
现在安装了 serilog,我们遇到了一个错误。
在引入 serilog 之前调用 this 会导致错误冒泡。
services.Configure<IpRateLimitOptions>(_configuration.GetSection("IpRateLimiting"));
Startup() 有:
Log.Logger = new LoggerConfiguration()
.WriteTo.File("Logs/FSCPAPI-{Date}.log")
.CreateLogger();
下面是在Configure()中
loggerfactory.AddSerilog();
来自 services.Configure() 的错误是:
发生 System.TypeLoadException H结果=0x80131522 Message=Method 'get_Name' in type 'Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1' from assembly 'Microsoft.Extensions.Options.ConfigurationExtensions, Version=1.1.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' 没有实现。 Source=Microsoft.Extensions.Options.ConfigurationExtensions 堆栈跟踪: 在 Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure[TOptions](IServiceCollection 服务,IConfiguration 配置) 在 C:\Users\saynort\Documents\Repos\ngb.ifs.purchapp\ngb.ifs.purchapp\NGB.IFS.PurchApp.Services\Startup 中的 NGB.IFS.PurchApp.Services.Startup.ConfigureServices(IServiceCollection 服务)。 cs:第 86 行
我安装了 serilog、serilog.extensions.logging 和 serilog.sinks.file Nuget 包。
【问题讨论】:
标签: c# .net .net-core asp.net-core-webapi serilog