小编Men*_*eah的帖子

如何使用OWIN正确记录每个异常

我的问题应该很简单,但不幸的是我没有运气解决它.

基本上,我有一些由OWIN托管并部署在Azure上的Web API控制器.

我真的需要追踪每个中间件中出现的异常(例如OAuthAuthorizationServerProviderSignalR Persistent Connections),但我绝对不知道如何实现它.

  • 我尝试过Elmah,但由于缺少HttpContext,它似乎与OWIN无法正常工作.
  • 我尝试使用log4net,但我只能使用自定义的ExceptionFilterAttribute记录Web API控制器抛出的异常.其他的被忽略.
  • 我尝试定义一个自定义LoggerFactory并在Startup中使用它来分配它app.SetLoggerFactory(new MyLoggerFactory()),但是不会记录其他中间件抛出的异常.
  • 我试图让至少向客户端发送一个有意义的错误消息,但尽管<customErrors mode="Off"/><deployment retail="false"/>,天青拒不归还任何东西,但{"message":"an error has occurred"}..我都尝试Azure网站和Azure的云服务.
  • 我看到一些云替代品与OWIN工作,像Elmah.io或Raygun.io,但我不需要他们的云功能,它肯定是不值得付出数百美元,每年只需登录一些例外.

记录我的应用程序引发的任何可能异常的最佳方法是什么

谢谢你的帮助

logging middleware exception-handling azure owin

18
推荐指数
1
解决办法
6910
查看次数

标签 统计

azure ×1

exception-handling ×1

logging ×1

middleware ×1

owin ×1