using Microsoft.Extensions.Logging;using Microsoft.Owin;using Owin;using Serilog;[assembly: OwinStartupAttribute(typeof(Invoiceautomation.WebUI.Startup))]namespace Invoiceautomation.WebUI{ public partial class Startup { public Startup() { Log.Logger = new LoggerConfiguration() .MinimumLevel.DeBUG() .Writeto.literateConsole() .Writeto.Rollingfile("log-{Date}.txt") .CreateLogger(); } public voID Configuration(IAppBuilder app,ILoggerFactory loggerFactory) { ConfigureAuth(app); loggerFactory.AddSerilog(); } }}解决方法 它不会加载,因为它需要带签名的方法
public voID Configuration(IAppBuilder app)
但是你不需要使用loggerFactory.AddSerilog();再创建logger(Log.Logger = new LoggerConfiguration())就足够了.
我提出中间件的全局异常处理怎么样:
public class OwinExceptionHandlerMIDdleware : OwinMIDdleware{ private Readonly ILogger logger; public OwinExceptionHandlerMIDdleware(OwinMIDdleware next,ILogger logger) : base(next) { this.logger = logger; } public overrIDe async Task Invoke(IOwinContext context) { try { await this.Next.Invoke(context); } catch (Exception ex) { this.logger.Error(ex,$"{nameof(OwinExceptionHandlerMIDdleware)} caught exception."); throw; } }}
注意,您需要在Startup.cs中注册中间件:
appBuilder.Use<OwinExceptionHandlerMIDdleware>(Log.Logger);总结
以上是内存溢出为你收集整理的c# – 在ASP.NET 4.6中使用Serilog进行OWIN启动全部内容,希望文章能够帮你解决c# – 在ASP.NET 4.6中使用Serilog进行OWIN启动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)