public void BrokenLinksTest() { string tagName = "失效链接标签";//自定义标签 var data = new ExcDataParam() { Name = "请求参数", Data = new { Id = 001, Name = "张三" } }; //自定义单个model var user = new ExcUserParam() { Id = "No0001", Name = "李廷礼", Email = "*****@*****.**", Description = "菁鲤汇高级开发工程师" }; //用户信息 var datas = new List <ExcDataParam>() //自定义列表数据 { new ExcDataParam() { Name = "请求参数", Data = new { Id = 002, Name = "李四" } }, new ExcDataParam() { Name = "返回结果", Data = new { Id = 003, Name = "王五" } } }; LessLinksLog.Submit("不带参数:http://www.baidu.com"); LessLinksLog.Submit("带标签:http://www.baidu.com", tagName); LessLinksLog.Submit("带用户&标签:http://www.baidu.com", user, tagName); LessLinksLog.Submit("带自定义数据&标签:http://www.baidu.com", data, tagName); LessLinksLog.Submit("带自定义数据&标签:http://www.baidu.com", datas, tagName); LessLinksLog.Submit("带用户&自定义数据&标签:http://www.baidu.com", user, data, tagName); LessLinksLog.Submit("带用户&自定义数据&标签:http://www.baidu.com", user, datas, tagName); }
public void FeatureUsageTest() { string tagName = "特性使用标签";//自定义标签 var data = new ExcDataParam() { Name = "请求参数", Data = new { Id = 001, Name = "张三" } }; //自定义单个model var user = new ExcUserParam() { Id = "No0001", Name = "李廷礼", Email = "*****@*****.**", Description = "菁鲤汇高级开发工程师" }; //用户信息 var datas = new List <ExcDataParam>() //自定义列表数据 { new ExcDataParam() { Name = "请求参数", Data = new { Id = 002, Name = "李四" } }, new ExcDataParam() { Name = "返回结果", Data = new { Id = 003, Name = "王五" } } }; LessFeatureLog.Submit("不带参数"); LessFeatureLog.Submit("带标签", tagName); LessFeatureLog.Submit("带用户&标签", user, tagName); LessFeatureLog.Submit("带自定义数据&标签", data, tagName); LessFeatureLog.Submit("带自定义数据&标签", datas, tagName); LessFeatureLog.Submit("带用户&自定义数据&标签", user, data, tagName); LessFeatureLog.Submit("带用户&自定义数据&标签", user, datas, tagName); }
/// <summary> /// 提交异常 /// </summary> /// <param name="message">信息</param> /// <param name="user">用户信息</param> /// <param name="datas">自定义数据</param> /// <param name="tags">标签</param> public static void Submit(string message, ExcUserParam user, List <ExcDataParam> datas, params string[] tags) { var stackTraceList = GetStackTraceList(); var innerMsg = string.Join("", stackTraceList); var innerException = new Exception(innerMsg); var ex = new Exception(message, innerException); ex.Submit(user, datas, tags); }
/// <summary> /// 提交失效链接 /// </summary> /// <param name="resource">链接地址</param> /// <param name="user">用户信息</param> /// <param name="data">自定义数据</param> /// <param name="tags">标签</param> public static void Submit(string resource, ExcUserParam user, ExcDataParam data, params string[] tags) { var datas = new List <ExcDataParam>() { data }; Submit(resource, user, datas, tags); }
/// <summary> /// 提交消息 /// </summary> /// <param name="message">消息</param> /// <param name="level">日志等级</param> /// <param name="user">用户信息</param> /// <param name="data">自定义数据</param> /// <param name="tags">标签</param> protected static void Submit(string message, LogLevel level, ExcUserParam user, ExcDataParam data, params string[] tags) { var datas = new List <ExcDataParam>() { data }; Submit(message, level, user, datas, tags); }
/// <summary> /// 提交特性 /// </summary> /// <param name="feature">特性消息</param> /// <param name="user">用户信息</param> /// <param name="data">自定义数据</param> /// <param name="tags">标签</param> public void Submit(string feature, ExcUserParam user, ExcDataParam data, params string[] tags) { var datas = new List <ExcDataParam>() { data }; Submit(feature, user, datas, tags); }
public void ErrorTest() { string tagName = "异常标签";//自定义标签 var data = new ExcDataParam() { Name = "请求参数", Data = new { Id = 001, Name = "张三" } }; //自定义单个model var user = new ExcUserParam() { Id = "No0001", Name = "李廷礼", Email = "*****@*****.**", Description = "菁鲤汇高级开发工程师" }; //用户信息 var datas = new List <ExcDataParam>() //自定义列表数据 { new ExcDataParam() { Name = "请求参数", Data = new { Id = 002, Name = "李四" } }, new ExcDataParam() { Name = "返回结果", Data = new { Id = 003, Name = "王五" } } }; try { LessExceptionLog.Submit("不带参数"); LessExceptionLog.Submit("带标签", tagName); LessExceptionLog.Submit("带用户&标签", user, tagName); LessExceptionLog.Submit("带自定义数据&标签", data, tagName); LessExceptionLog.Submit("带自定义数据&标签", datas, tagName); LessExceptionLog.Submit("带用户&自定义数据&标签", user, data, tagName); LessExceptionLog.Submit("带用户&自定义数据&标签", user, datas, tagName); //程序逻辑异常测试,用过try catch 捕获 int number = 0; int nubemr1 = 1 / number; } catch (Exception ex) { //注意:同一个异常ExceptionsLess只会提交一次,這就说明第二次提交则会无效 //ex.Submit();//不带任何参数 //ex.Submit(tagName);//带标签 //ex.Submit(user, tagName);//带用户&标签 //ex.Submit(data, tagName);//带自定义数据&标签 //ex.Submit(datas, tagName);//带自定义数据&标签 //ex.Submit(user, data, tagName);//带用户&自定义数据&标签 ex.Submit(user, datas, tagName);//带用户&自定义数据&标签 } }
/// <summary> /// 提交异常 /// </summary> /// <param name="ex">异常信息</param> /// <param name="user">用户信息</param> /// <param name="datas">自定义数据</param> /// <param name="tags">标签</param> public static void Submit(this Exception ex, ExcUserParam user, List <ExcDataParam> datas, params string[] tags) { EventBuilder builder = ex.ToExceptionless() .AddTags(tags) .SetUserIdentity(user?.Id, user?.Name) .SetUserDescription(user?.Email, user?.Description) .SetReferenceId(Guid.NewGuid().ToString("N")); if (datas?.Count > 0) { foreach (var data in datas) { builder.AddObject(data?.Data, data?.Name); } } builder.Submit(); }
/// <summary> /// 提交失效链接 /// </summary> /// <param name="resource">链接地址</param> /// <param name="user">用户信息</param> /// <param name="datas">自定义数据</param> /// <param name="tags">标签</param> public void Submit(string resource, ExcUserParam user, List <ExcDataParam> datas, params string[] tags) { EventBuilder builder = ExceptionlessClient.Default.CreateNotFound(resource) .AddTags(tags) .SetUserIdentity(user?.Id, user?.Name) .SetUserDescription(user?.Email, user?.Description) .SetReferenceId(Guid.NewGuid().ToString("N")); if (datas?.Count > 0) { foreach (var data in datas) { builder.AddObject(data?.Data, data?.Name); } } builder.Submit(); }
/// <summary> /// 提交消息 /// </summary> /// <param name="message">消息</param> /// <param name="level">日志等级</param> /// <param name="user">用户信息</param> /// <param name="datas">自定义数据</param> /// <param name="tags">标签</param> protected static void Submit(string message, LogLevel level, ExcUserParam user, List <ExcDataParam> datas, params string[] tags) { EventBuilder builder = ExceptionlessManager.Instance.ToMessageLess(message, level) .AddTags(tags) .SetUserIdentity(user?.Id, user?.Name) .SetUserDescription(user?.Email, user?.Description) .SetReferenceId(Guid.NewGuid().ToString("N")); if (datas?.Count > 0) { foreach (var data in datas) { builder.AddObject(data?.Data, data?.Name); } } builder.Submit(); }
// http://edi.wang/post/2017/11/1/use-nlog-aspnet-20 // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IApplicationLifetime applicationLifetime) { app.UseExceptionless(Configuration); env.ConfigureNLog($"{env.ContentRootPath}{ Path.DirectorySeparatorChar}nlog.config"); //add NLog to ASP.NET Core loggerFactory.AddNLog(); loggerFactory.AddExceptionless(); app.UseConsulRegisterService(Configuration); app.UseOcelot().Wait(); app.UseAppMetrics(); ExceptionlessClient.Default.SubmittingEvent += Default_SubmittingEvent; string tagName = "消息标签";//自定义标签 var data = new ExcDataParam() { Name = "请求参数", Data = new { Id = 001, Name = "张三" } }; //自定义单个model var user = new ExcUserParam() { Id = "No0001", Name = "张善友", Email = "*****@*****.**", Description = "高级开发工程师" }; //用户信息 var datas = new List <ExcDataParam>() { new ExcDataParam() { Name = "请求参数", Data = new { Id = 002, Name = "李四" } }, new ExcDataParam() { Name = "返回结果", Data = new { Id = 003, Name = "王五" } } }; ILessLog lessLog = app.ApplicationServices.GetRequiredService <ILessLog>(); lessLog.Info("带用户&自定义数据&标签: Application - Configure is invoked", user, datas, tagName); }
/// <summary> /// 信息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="tags">标签</param> public static void Info(string message, ExcUserParam user, params string[] tags) { Submit(message, LogLevel.Info, user, tags); }
/// <summary> /// 提交消息 /// </summary> /// <param name="message">消息</param> /// <param name="level">日志等级</param> /// <param name="user">用户</param> /// <param name="tags">标签</param> protected static void Submit(string message, LogLevel level, ExcUserParam user, params string[] tags) { Submit(message, level, user, data: null, tags: tags); }
/// <summary> /// 提交异常 /// </summary> /// <param name="ex"></param> /// <param name="user">用户信息</param> /// <param name="data"></param> /// <param name="level"></param> /// <param name="tags"></param> public static void Submit(this Exception ex, ExcUserParam user, ExcDataParam data, params string[] tags) { var datas = new List <ExcDataParam>(); ex.Submit(user, datas, tags); }
/// <summary> /// 提交异常 /// </summary> /// <param name="ex"></param> /// <param name="user"></param> /// <param name="tags"></param> public static void Submit(this Exception ex, ExcUserParam user, params string[] tags) { ex.Submit(user, data: null, tags: tags); }
/// <summary> /// 调试信息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="tags">标签</param> public static void Debug(string message, ExcUserParam user, params string[] tags) { Submit(message, LogLevel.Debug, user, tags); }
public void MessageTest() { string tagName = "消息标签";//自定义标签 var data = new ExcDataParam() { Name = "请求参数", Data = new { Id = 001, Name = "张三" } }; //自定义单个model var user = new ExcUserParam() { Id = "No0001", Name = "李廷礼", Email = "*****@*****.**", Description = "菁鲤汇高级开发工程师" }; //用户信息 var datas = new List <ExcDataParam>() //自定义列表数据 { new ExcDataParam() { Name = "请求参数", Data = new { Id = 002, Name = "李四" } }, new ExcDataParam() { Name = "返回结果", Data = new { Id = 003, Name = "王五" } } }; //日志等级:跟踪信息 LessLog.Trace("不带参数"); LessLog.Trace("带标签", tagName); LessLog.Trace("带用户&标签", user, tagName); LessLog.Trace("带自定义数据&标签", data, tagName); LessLog.Trace("带自定义数据&标签", datas, tagName); LessLog.Trace("带用户&自定义数据&标签", user, data, tagName); LessLog.Trace("带用户&自定义数据&标签", user, datas, tagName); //日志等级:调试信息 LessLog.Debug("不带参数"); LessLog.Debug("带标签", tagName); LessLog.Debug("带用户&标签", user, tagName); LessLog.Debug("带自定义数据&标签", data, tagName); LessLog.Debug("带自定义数据&标签", datas, tagName); LessLog.Debug("带用户&自定义数据&标签", user, data, tagName); LessLog.Debug("带用户&自定义数据&标签", user, datas, tagName); //日志等级:普通信息 LessLog.Info("不带参数"); LessLog.Info("带标签", tagName); LessLog.Info("带用户&标签", user, tagName); LessLog.Info("带自定义数据&标签", data, tagName); LessLog.Info("带自定义数据&标签", datas, tagName); LessLog.Info("带用户&自定义数据&标签", user, data, tagName); LessLog.Info("带用户&自定义数据&标签", user, datas, tagName); //日志等级:警告 LessLog.Warn("不带参数"); LessLog.Warn("带标签", tagName); LessLog.Warn("带用户&标签", user, tagName); LessLog.Warn("带自定义数据&标签", data, tagName); LessLog.Warn("带自定义数据&标签", datas, tagName); LessLog.Warn("带用户&自定义数据&标签", user, data, tagName); LessLog.Warn("带用户&自定义数据&标签", user, datas, tagName); //日志等级:致命的 LessLog.Fatal("不带参数"); LessLog.Fatal("带标签", tagName); LessLog.Fatal("带用户&标签", user, tagName); LessLog.Fatal("带自定义数据&标签", data, tagName); LessLog.Fatal("带自定义数据&标签", datas, tagName); LessLog.Fatal("带用户&自定义数据&标签", user, data, tagName); LessLog.Fatal("带用户&自定义数据&标签", user, datas, tagName); //日志等级:异常 LessLog.Error("不带参数"); LessLog.Error("带标签", tagName); LessLog.Error("带用户&标签", user, tagName); LessLog.Error("带自定义数据&标签", data, tagName); LessLog.Error("带自定义数据&标签", datas, tagName); LessLog.Error("带用户&自定义数据&标签", user, data, tagName); LessLog.Error("带用户&自定义数据&标签", user, datas, tagName); }
/// <summary> /// 致命的消息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="tags">标签</param> public static void Fatal(string message, ExcUserParam user, params string[] tags) { Submit(message, LogLevel.Fatal, user, tags); }
/// <summary> /// 提交异常 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户</param> /// <param name="tags">标签</param> public static void Submit(string message, ExcUserParam user, params string[] tags) { Submit(message, user, data: null, tags: tags); }
/// <summary> /// 致命的消息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="data">自定义数据</param> /// <param name="tags">标签</param> public void Fatal(string message, ExcUserParam user, ExcDataParam data, params string[] tags) { Submit(message, LogLevel.Fatal, user, data, tags); }
/// <summary> /// 异常消息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="data">自定义数据</param> /// <param name="tags">标签</param> public static void Error(string message, ExcUserParam user, ExcDataParam data, params string[] tags) { Submit(message, LogLevel.Error, user, data, tags); }
/// <summary> /// 异常消息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="tags">标签</param> public void Error(string message, ExcUserParam user, params string[] tags) { Submit(message, LogLevel.Error, user, tags); }
/// <summary> /// 提交失效链接 /// </summary> /// <param name="resource">链接地址</param> /// <param name="user">用户</param> /// <param name="tags">标签</param> public static void Submit(string resource, ExcUserParam user, params string[] tags) { Submit(resource, user, data: null, tags: tags); }
/// <summary> /// 信息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="datas">自定义数据</param> /// <param name="tags">标签</param> public void Info(string message, ExcUserParam user, List <ExcDataParam> datas, params string[] tags) { Submit(message, LogLevel.Info, user, datas, tags); }
/// <summary> /// 跟踪信息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="tags">标签</param> public static void Trace(string message, ExcUserParam user, params string[] tags) { Submit(message, LogLevel.Trace, user, tags); }
/// <summary> /// 提交特性 /// </summary> /// <param name="feature">消息</param> /// <param name="user">用户</param> /// <param name="tags">标签</param> public static void Submit(string feature, ExcUserParam user, params string[] tags) { Submit(feature, user, data: null, tags: tags); }
/// <summary> /// 跟踪信息 /// </summary> /// <param name="message">消息</param> /// <param name="user">用户信息</param> /// <param name="datas">自定义数据</param> /// <param name="tags">标签</param> public static void Trace(string message, ExcUserParam user, List <ExcDataParam> datas, params string[] tags) { Submit(message, LogLevel.Trace, user, datas, tags); }