设为首页 加入收藏

TOP

Exceptionless(二) - 使用进阶(一)
2019-09-17 17:14:21 】 浏览:54
Tags:Exceptionless 使用 进阶

Exceptionless(二) - 使用进阶

作者:markjiang7m2
原文地址:http://letyouknow.net/exceptionless/exceptionless-tutorial-2.html
官网地址:http://letyouknow.net

在上一篇文章Exceptionless - .Net Core开源日志框架中就说到如何对Exceptionless进行本地化部署,不过我也跟大家说了,仅限于能用的阶段。那今天我就继续来探讨一下如何再用好。

后台运行服务

上次我就是直接通过脚本Start-ElasticSearch.ps1启动ElasticSearch和Kibana服务,但是大家也能看到,服务是运行起来了,同时还有两个命令窗口,如果一个不小心把窗口关闭了,服务也就关闭了,而且一旦服务器重启了,这两个服务也不会自动启动。
我这里先暂时把Kibana扔一边去,来看看ElasticSearch服务。ElasticSearch是直接有脚本支持将ElasticSearch安装为Windows服务,在后台运行。

less_23_searchservicebat

就是这个elasticsearch-service.bat脚本,支持一下参数:

  • install 将Elasticsearch作为服务安装
  • remove 删除已安装的Elasticsearch服务(并在启动时停止服务)
  • start 启动Elasticsearch服务(如果已安装)
  • stop 停止Elasticsearch服务(如果启动)
  • manager 启动一个GUI来管理已安装的服务

安装
命令行,进入到elasticsearch-service.bat所在的目录,然后执行下面的脚本

elasticsearch-service.bat install

启动

less_25_servicestarted

这个时候我们可以直接在浏览器访问9200端口看看服务是否正常

less_26_serviceconfirm

继续使用上次部署好的Exceptionless
(如何使用IIS部署Exceptionless Web服务,请看Exceptionless - .Net Core开源日志框架

因为我是直接用回之前ElasticSearch的节点,而且也没有清空数据,所以可以直接用之前注册的账号重新登录

less_27_weblogin

也是成功的,ElasticSearch服务已经运行在后台了。

自动启动
通过ElasticSearch提供的GUI可以将服务设置为自动启动

elasticsearch-service.bat manager

Startup Type选择为Automatic,再点击OK保存

less_28_serviceauto

这样,即使服务器重启了,我们的ElasticSearch服务也会自动启动

其实,有玩过Windows服务的朋友一定知道,上面的一些操作在Windows自带的服务管理器也能完成

同时按下"WIN+R" 打开服务的命令运行窗口。在服务运行窗口中输入services.msc

在列表中也可以找到ElasticSearch服务,双击打开属性窗口,跟刚刚的GUI操作就是一样的了

less_29_windowsservice

再看Web.config

上次我只是改了Exceptionless的端口设置,其实这里面还包含很多配置信息

<add name="RedisConnectionString" connectionString="localhost:6379,abortConnect=false" />
<add name="ElasticSearchConnectionString" connectionString="http://localhost:9200" />

官方是建议大家安装和配置Redis,这样就可以同时运行多个实例,并且重启不会丢失状态,强烈建议在Linux上运行Redis 3.0+版本,RedisConnectionString就是Redis的连接串

ElasticSearchConnectionString是必须的,指向ElasticSearch服务,如果有多个节点,则使用,隔开

<!-- Exceptionless Web 基础Url -->
<add key="BaseURL" value="http://localhost:50001/#" />
<!-- 是否启用ssl -->
<add key="EnableSSL" value="false" />
<!-- Dev: Use this mode when debugging. (Outbound emails will not be sent) QA: Use this mode when deployed to staging. (Outbound emails restricted) Production: Use this mode when deployed to production. -->
<add key="WebsiteMode" value="Production" />
<!-- Controls whether users can signup. -->
<add key="EnableAccountCreation" value="true" />
<!-- Controls whether daily summary emails are sent -->
<add key="EnableDailySummary" value="true" />

网站模式WebsiteMode主要是限制邮件发送,默认值是Dev,不发送邮件,所以我这里设置为Production

邮件发送配置,记得跟上面的WebsiteMode一起配置

<add key="SmtpHost" value="smtp.qq.com" />
<add key="SmtpPort" value="25" />
<add key="SmtpEncryption" value="SSL" />
<add key="SmtpUser" value="xxx@qq.com" />
<add key="SmtpPassword" value="xxx" />

我在案例中使用的是自己的qq邮箱。我在qq邮箱中已经开启了SMTP服务,并且也通过一个控制台应用程序测试可以发送邮件。
但是在Exceptionless这里一样的设置就是不行,在Web中点击发送邮件,log记录错误如下:
ERROR MailMessageJob Job run "MailMessageJob" failed: 由于意外的数据包格式,握手失败。 System.IO.IOException: 由于意外的数据包格式,握

首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Asp.NetCoreWebApi入门 - 从零开.. 下一篇.NET架构师知识普及

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目