Exceptionless应用--自定义插件
程序员文章站
2022-07-02 20:45:29
遇到的问题/需求 1. 这里会把一些敏感的参数记录下来,我们需要屏蔽掉,如图 2. 我们希望日志里面有当前登录用户的信息,如图: 处理方法 tip:这里用的是.net非.net core 第一个问题(屏蔽敏感参数): 第二个问题(添加扩展信息) 直接看代码/注释吧 当然需要在 的 方法中调用 其他 ......
遇到的问题/需求
这里会把一些敏感的参数记录下来,我们需要屏蔽掉,如图
我们希望日志里面有当前登录用户的信息,如图:
处理方法
core
第一个问题(屏蔽敏感参数):
exceptionlessclient.default.configuration.adddataexclusions("password", "password", "token", "token");
第二个问题(添加扩展信息)
直接看代码/注释吧
public class exceptionlessconfig { public static void configure() { //添加自定义插件 exceptionlessclient.default.configuration.addplugin<exceptionlessuserplugin>(); //exceptionlessclient.default.configuration.adddataexclusions("password", "password", "token", "token"); } /// <summary> /// 日志添加用户信息 /// </summary> public class exceptionlessuserplugin : ieventplugin { public void run(eventplugincontext context) { ijsonserializer serializer = context.client.configuration.resolver.getjsonserializer(); userinfo userinfo = 获取当前登录用户信息; //设置用户信息 adduser(context, userinfo, serializer); } private static void adduser(eventplugincontext context, userinfo userinfo, ijsonserializer serializer) { exceptionless.models.data.userinfo user = context.event.getuseridentity(serializer); if (user != null || userinfo == null) return; //设置当前登录用户信息 context.event.setuseridentity(new exceptionless.models.data.userinfo { //用户id identity = userinfo.userid, //用户所在公司名--用户名 name = $"{userinfo.companyname}-{userinfo.username}", //扩展信息 data = new exceptionless.models.datadictionary(new list<keyvaluepair<string, object>> { new keyvaluepair<string, object>("公司id", userinfo.companyid), new keyvaluepair<string, object>("公司名称", userinfo.comanyname) }) }); } } }
当然需要在global.cs
的application_start
方法中调用exceptionlessconfig.configure();
其他
context.event
还有很多扩展,比如添加标签、添加属性...看需求了
over
上一篇: QT删除整个文件夹
下一篇: 一篇文章带你解析,乐观锁与悲观锁的优缺点
推荐阅读
-
详解iOS应用中自定义UIBarButtonItem导航按钮的创建方法
-
Android Studio常用设置(设置ide主题、安装插件、设置编码区字体、自定义sdk位置)
-
CSS3 border-image详解、应用及jQuery插件
-
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
-
iOS应用中UITableView左滑自定义选项及批量删除的实现
-
ABP入门系列应用BootstrapTable表格插件
-
android隐式意图激活自定义界面和系统应用界面的实例
-
vue自定义指令实现v-tap插件
-
Chrome新扩展插件,可直接在桌面应用中打开Google Drive网盘文件
-
vue中的自定义分页插件组件的示例