遇到的问题/需求
处理方法
tip:这里用的是.net非.net core
第一个问题(屏蔽敏感参数):
ExceptionlessClient.Default.Configuration.AddDataExclusions("Password", "password", "Token", "token");
第二个问题(添加扩展信息)
直接看代码/注释吧
public class ExceptionlessConfig
{
public static void Configure()
{
//添加自定义插件
ExceptionlessClient.Default.Configuration.AddPlugin();
//ExceptionlessClient.Default.Configuration.AddDataExclusions("Password", "password", "Token", "token");
}
///
/// 日志添加用户信息
///
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> {
new KeyValuePair("公司ID", userInfo.CompanyId),
new KeyValuePair("公司名称", userInfo.ComanyName)
})
});
}
}
}
当然需要在Global.cs
的Application_Start
方法中调用ExceptionlessConfig.Configure();
其他
context.Event
还有很多扩展,比如添加标签、添加属性...看需求了
over