遇到的问题/需求

  1. 这里会把一些敏感的参数记录下来,我们需要屏蔽掉,如图

  2. 我们希望日志里面有当前登录用户的信息,如图:

处理方法

tip:这里用的是.net非.net 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.csApplication_Start方法中调用ExceptionlessConfig.Configure();

其他

context.Event还有很多扩展,比如添加标签、添加属性...看需求了

over

Exceptionless应用--自定义插件的更多相关文章

  1. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  2. jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...

  3. Phonegap中自定义插件的使用

    在phonegap中需要实现特定相关的功能,可能需要自定义扩展一下功能,那么扩展phonegap组件就成为了可能. 源代码结构图: 本文目的在于讲述怎么扩展一个phonegap组件以及实现. 针对ph ...

  4. jquery自定义插件——以 选项卡插件为例

    一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...

  5. Cordova - 与iOS原生代码交互2(使用Swift开发Cordova的自定义插件)

    在前一篇文章中我介绍了如何通过 js 与原生代码进行交互(Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)),当时是直接对Cordova生成的iOS工程项目进行编辑操作的(添加 ...

  6. jQuery自定义插件

    jQuery自定义插件 jQuery自定义插件按照功能分类,可以分为三类, 1>封装对象方法的插件,(也就是基于某个DOM元素的jQuery对象,局部的) 2>封装全局函数的插件,   ( ...

  7. cordova3.X 运用grunt生成plugin自定义插件骨架

    Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等.Cordova还提供了一组统一的JavaScript类库,以及为这些 ...

  8. cordova /phonegap 自定义插件

    ### cordova /phonegap 自定义插件 在使用cordova 的过程中,虽然官方提供的插件以及其他人开源的插件较多.但有时为了实现某种需求,还是需要自己编写插件. 以前总是会手动的配置 ...

  9. gulp如何自定义插件

    gulp是基于”流“的构建工具,上层流的输出就是下层流的输入,为了更好的支持链式操作,可以使用through2或者map-stream这两个库来对node stream做一层包装 这里,我们就使用th ...

随机推荐

  1. js中的Object.assign接受两个函数为参数的时候会发生什么?

    缘由 今天看到一段代码 return Object.assign(func1, func2); 心生疑惑,为什么 Object.assign 的参数可以是函数? 于是有了下面这一堆东西,其实都是老生常 ...

  2. jQuery 判断页面对象是否存在

    不能用 if($("#id")){}else{} 因为 $("#id") 不管对象是否存在都会返回 object.   正确使用判断对象是否存在应该用: if( ...

  3. mac 命令记录

    1. 安装 mysqlworkbench brew search mysql brew tap caskroom/cask brew cask search mysql brew cask insta ...

  4. gsoap使用

    一. 安装gsoap 下载地址:http://sourceforge.net/projects/gsoap2/files/ 解压安装:./configure --prefix=/usr/local/g ...

  5. ThinkPHP的视图和模板

    简单来说一个控制器对应一个视图,一个方法对应一个模板下面我们直接上图. 二.给模板赋值 给模板赋值在这里用到了assign()这个函数,assign()函数第一个参数为给这个值自定义名称,第二个参数则 ...

  6. 升级xcode10.0, 终端运行 运行报错:Print: Entry, “:CFBundleIdentifier”, Does Not Exist

    目录 问题原因 解决方法 终端解决 Print: Entry, ":CFBundleIdentifier", Does Not Exist 第一步: 去官网GitHub下载对应包就 ...

  7. 2019CCPC秦皇岛 K MUV LUV UNLIMITED(博弈)

    MUV LUV UNLIMITED Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  8. LightOJ1199 Partition Game

    Alice and Bob are playing a strange game. The rules of the game are: Initially there are n piles. A ...

  9. LightOJ 1186 Icreable Chess(Nim博弈)

    You are given an n x n chess board. Only pawn is used in the 'Incredible Chess' and they can move fo ...

  10. 跨站脚本(XSS)备忘单-2019版

    这是一份跨站脚本(XSS)备忘录,收集了大量的XSS攻击向量,包含了各种事件处理.通讯协议.特殊属性.限制字符.编码方式.沙箱逃逸等技巧,可以帮助渗透测试人员绕过WAF和过滤机制. 译者注:原文由Po ...