使用Exceptionless记录日志

第一部分:搭建本地Exceptionless环境

 

提前先下载好对应的程序包

 

第一步,安装JDK并配置环境变量

第二步,解压elasticsearch,进入bin目录,运行elasticsearch.bat。

 

第三步,解压 Exceptionless,  运行Start.bat。

 

 在执行Start.bat的时候,如果出现以下错误,请参考PowerShell设置

 

如果没有报错,会出现这个界面。

等待安装完成,会自动打开http://localhost:50000/这个页面。

在低版本的安装过程中,需要修改各种配置文件,在最新版本已经不需要手动去修改了,完全是傻瓜式安装。

到此为止,安装流程已经全部完成了。

 

 

第二部分:代码调用

 在登录页面创建好账号并登录,新建一个项目。

 

点击“Add Project”后,会引导选择使用的框架,然后会给出对应框架的使用语句。

 

在VS中创建一个新的测试项目,我这边的代码和平台给的示例稍微有点不同,我把配置写在了json文件中。

 

Startup类里面加上这两行代码,把服务注册到系统中。

 

最后在控制器里面调用对应的方法。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Threading.Tasks;
 5 using Exceptionless;
 6 using Exceptionless.Logging;
 7 using Microsoft.AspNetCore.Mvc;
 8 
 9 namespace ExceptionlessLogTest_V2.Controllers
10 {
11     [Route("api/[controller]")]
12     public class ValuesController : Controller
13     {
14         // GET api/values
15         [HttpGet]
16         public string Get()
17         {
18             ELogInfo("Get", $"logging-date:{DateTime.Now}");
19             try
20             {
21                 throw new Exception("Unable to create order from quote.");
22             }
23             catch (Exception ex)
24             {
25                 ELogError(ex, "err");
26             }
27 
28             return "执行完成";
29         }
30 
31 
32         public void ELogInfo(string source, string message, string tag = "")
33         {
34             if (string.IsNullOrEmpty(tag))
35             {
36                 ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Info).Submit();
37             }
38             else
39             {
40                 ExceptionlessClient.Default.CreateLog(source, message, LogLevel.Info).AddTags(tag).Submit();
41             }
42         }
43 
44 
45         public void ELogError(Exception ex, string tag = "")
46         {
47             if (string.IsNullOrEmpty(tag))
48             {
49                 ExceptionlessClient.Default.SubmitException(ex);
50             }
51             else
52             {
53                 ExceptionlessClient.Default.CreateException(ex).SetProperty("ex", tag).Submit();
54             }
55         }
56 
57     }
58 }
View Code

 

更多的使用,请参考官方文档或者 savorboard的文章 

 

在调用了Get这个接口之后,对应的日志信息和异常信息已经记录到Exceptionless中了。最终效果如下:

  

 

参考链接:

http://www.cnblogs.com/liying0721/p/7027121.html#3738569

https://www.cnblogs.com/savorboard/p/exceptionless.html

posted @ 2017-10-13 21:14  jiao006  阅读(1871)  评论(2编辑  收藏  举报