Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        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);//带用户&自定义数据&标签
            }
        }
Пример #8
0
        /// <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();
        }
Пример #9
0
        /// <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();
        }
Пример #10
0
        /// <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();
        }
Пример #11
0
        // 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);
        }
Пример #12
0
 /// <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);
 }
Пример #13
0
 /// <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);
 }
Пример #14
0
        /// <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);
        }
Пример #15
0
 /// <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);
 }
Пример #16
0
 /// <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);
 }
Пример #17
0
        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);
        }
Пример #18
0
 /// <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);
 }
Пример #19
0
 /// <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);
 }
Пример #20
0
 /// <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);
 }
Пример #21
0
 /// <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);
 }
Пример #22
0
 /// <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);
 }
Пример #23
0
 /// <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);
 }
Пример #24
0
 /// <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);
 }
Пример #25
0
 /// <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);
 }
Пример #26
0
 /// <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);
 }
Пример #27
0
 /// <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);
 }