遇到的问题/需求
-
这里会把一些敏感的参数记录下来,我们需要屏蔽掉,如图
-
我们希望日志里面有当前登录用户的信息,如图:
处理方法
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
黄山市民网:https://www.huangshanshimin.com/