c# – 在ASP.NET 4.6中使用Serilog进行OWIN启动

c# – 在ASP.NET 4.6中使用Serilog进行OWIN启动,第1张

概述我正在尝试集成serilog以进行异常的全局处理,但是当我尝试将ILoggerFactory作为新参数添加到Configuration()时,应用程序无法加载,因为它无法识别OWIN Startup.cs.任何人都可以告诉我是否遗漏了什么?下面是我的Startup.cs: using Microsoft.Extensions.Logging;using Microsoft.Owin;using 我正在尝试集成serilog以进行异常的全局处理,但是当我尝试将ILoggerFactory作为新参数添加到Configuration()时,应用程序无法加载,因为它无法识别OWIN Startup.cs.任何人都可以告诉我是否遗漏了什么?下面是我的Startup.cs:

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启动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存