开源日志收集Exceptionless简单使用

这两天在研究一个开源的日志收集工具Exceptionlesshtml

官网地址:https://exceptionless.com/
GitHub地址:https://github.com/exceptionless/Exceptionlessjava

官网为咱们提供了两种使用方式。git

1、在官网注册帐号后便可快速使用(不用关心日志收集环境的搭建,专一本身代码逻辑就好),惟一很差的地方就是你系统中的全部日志信息都会被上传至官网服务中了。github

2、下载官网为咱们提供的Releases版(https://github.com/exceptionless/Exceptionless/releases)后在本身的服务器中搭建私有环境。shell

我本身就在本地机器试着搭建了环境。网站也有不少关于本地部署的贴子,不过在搭建过程当中仍是遇到了好些问题。好在最后都顺利解决了,因此想记录下本身部署过程当中遇到的问题及其解决方法。浏览器

下面是部署的过程:服务器

要用Exceptionless还有一些前置工做要作,以下图截取的是https://www.cnblogs.com/akaxb/p/7207827.htmlless

个人机器装了VS2017和java jdk 1.8 因此对于这些就不作过多截图了,可自行搜索。elasticsearch

接下来咱们从github下载releases版的压缩包工具

解压出来的文件夹只包含下面几个文件

右击Start.bat文件以管理员身份运行时可能会出现如下错

这是powershell认为执行的*.psl可能存在风险,被阻止了。咱们只要以管理员身份运行powershell,执行下图红框中的命令

而后再执行Start.bat文件,以下图

都执行好以后会再自动执行Start-Website.ps1而后浏览器会自动打开以下图

这时能够点signup注册个帐号并登陆

到此算是基本完成了。解压的文件夹中多出三个文件夹

一开始咱们是点Start.bat才运行起来的,之后总不能每次都点这bat文件吧

这时咱们能够在IIS中新建一个站点指向wwwroot, 应用程序池选.NET4.0集成,端口随意(只要不被占用或冲突便可)注:wwwroot里的配置商品默认是50000的。若自定义了端口号需同步修改如下配置文件中的端口号

由于我在新建站点时用了50001,相应的修改以下

到此还要给下面的两个文件夹添加 IIS_IUSRS用户组

这个时候就能够在浏览器中输入http://localhost:50001会出现登陆页啦,不过在注册帐号时会报错

通过一阵子乱搞有点明白了,要想使用Execptionless前提是要先运行elasticsearch,即先执行下面的bat

如今就能够注册和登陆一切都正常使用啦!

下面简单介绍下如何使用

这里红色的框是要在程序中用到的

如今新建一个控制台程序,从nuget中查找引用exceptionless,根据本身的项目安装对应的包

简单的程序使用

 1 using System;
 2 using Exceptionless;
 3 using Exceptionless.Logging;
 4 
 5 namespace ExceptionLessDemo
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             ExceptionlessClient.Default.Configuration.ApiKey = "lJSj6SwpmA9Wih3AFkhq7AoIchtPZyZEimNQ3eCL";
12             ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:50001";
13             ExceptionlessClient.Default.Startup();
14 
15             ExceptionlessClient.Default.SubmitLog("这是一个普通日志记录code:{12345678999}", LogLevel.Info);
16 
17             try
18             {
19                 ExceptionlessClient.Default.CreateLog("出错了", LogLevel.Error).Submit(); ;
20                 throw new Exception($"看这里异常了!时间:{DateTime.Now}");
21             }
22             catch(Exception e)
23             {
24                 e.ToExceptionless().Submit();
25             }
26 
27             Console.WriteLine("Hello World!");
28         }
29     }
30 }

最终的效果图以下

好了,就先到这吧。这是最简单的样子,还有不少东西要去研究如elasticsearch、kibana等。

因水平有限,以上若有讲述不正确的地方欢迎指正。

感谢阁下的阅览!

相关文章
相关标签/搜索