如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

发布时间:2022-01-05 16:34:43 作者:柒染
来源:亿速云 阅读:138

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

手动发送错误

导入命名空间后,并使用如下代码就可以简单地提交异常日志:

try {  
 throw new ApplicationException(Guid.NewGuid().ToString()); } catch (Exception ex) {    ex.ToExceptionless().Submit(); }

发送附加信息

当然你还可以为发送的事件添加额外的标记信息,比如坐标,标签,以及其他的用户相关的信息等等

统一修改未处理的异常报告

你可以在通过SubmittingEvent 事件设置全局的忽略异常信息添加一些自定义信息等等

配合使用 NLog 或 Log4Net

有时候,程序中需要对日志信息做非常详细的记录,比如在开发阶段。这个时候可以配合 log4net 或者 nlog 来联合使用 exceptionless,详细可以查看这个官方的 [示例][https://github.com/exceptionless/Exceptionless.Net/tree/master/samples/Exceptionless.SampleConsole]。

如果你的程序中有在短时间内生成大量日志的情况,比如一分钟产生上千的日志。这个时候你需要使用内存存储(in-memory store)事件,这样客户端就不会将事件系列化的磁盘,所以会快很多。这样就可以使用Log4net 或者 Nlog来将一些事件存储到磁盘,另外 Exceptionless 事件存储到内存当中。

Exceptionless 日志记录的封装

1.首先简单地封装一个ILoggerHelper接口

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤  

既然有了接口,那么当然得实现它了

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

  1. 当然实现好了,可别忘了依赖注入哦

 //注入ExceptionlessLogger服务
            services.AddSingleton<ILoggerHelper, ExceptionlessLogger>();
  1. 这时候该写一个全局异常过滤器了

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

  1. 全局过滤器写好了,怎么让它生效呢,客观别急啊,上正菜

      //添加验证
                services.AddMvc(options=> {
                    options.Filters.Add<GlobalExceptionFilter>();
                }).AddFluentValidation();
  2. 哈哈,没什么说的了,代码都已经写好了,剩下的就是上代码测试结果了。我这里只是简单地api测试下,万能的ValuesController登场:

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

  1. 这里是直接抛出异常,不进行trycatch,这时候异常会被全局过滤器捕获,然后放到Exceptionless的Log里面,别问我为什么会在log里面,因为我全局过滤器代码里面已经写明了,不明白的回去看代码,然后看接口调用的实现方法。下面上结果:

    如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

点进去,看看详细信息:

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

  1. 再测试下使用try catch捕获的异常处理,这时候异常信息会被提交到Exception这个里面。直接上代码吧

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

到exceptionless里面看看不活的异常吧。打字很累直接上图吧

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

点进去看看详细信息,有三个tab,下面之粘贴一个图片了:

如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤

关于如何分析.Net Core集成Exceptionless分布式日志功能以及全局异常过滤问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. (五).NET Core中过滤器Filter的使用介绍
  2. .NET开源分布式日志框架ExceptionLess实战演练

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

exceptionless

上一篇:Java如何实现值传递

下一篇:数据库备份的概念有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》