Exceptionless 本地部署

copy to:https://www.cnblogs.com/uptothesky/p/5864863.htmlhtml

本地部署官方wikijava

  • .NET 4.6.1 這個由於我裝了VS2015,就沒有單獨再裝了
  • Java JDK 1.8+ 安裝完後還需配置下Java環境,系統變量添加:JAVA_HOME  對應 C:\Program Files\Java\jdk1.8.0_102 是安裝jdk的目錄,用戶變量Path 中添加 %JAVA_HOME%\bin; 配置完成後打開cmd,運行
    java -version 若是報錯的話有不少種可能,搜索一下會有解決方案,個人就是在C:\Windows\System32 目錄下把java.exe更名成javaa.exe,再次cmd運行就成功了
  • IIS 8+ 這個感受不是強制的,我win7的IIS 7.5也是能夠的
  • ElasticSearch 1.7.5 (Elasticsearch 2.x is not yet supported) 到鏈接地址去下載1.7.5版本,人家已經說明2.x的版本不支持,找這個歷史版本得翻好幾頁,大概在第7頁左右,直接給個下載鏈接:elasticsearch-1.7.5 ,下載完後解壓
  • 下載最新的latest Exceptionless release artifact ZIP ,下載後解壓,將目錄中的elasticsearch.yml 複製到到elasticsearch的解壓目錄的bin目錄中,執行elasticsearch目錄中的elasticsearch.bat,看到最後一行有
    started 就說明成功了,打開http://localhost:9200/就能看到相關信息,若是es是部署服務的話複製到config目錄中,執行
    service.bat install|remove|start|stop|manager

1.偷懶法git

 在ExceptionLess文件解壓目錄找到 :Start.bat  運行,o'k 佈置好了github

 而後在下面看如何修改網站配置文件web

PASS:api

①命令不能執行:https://www.jb51.net/article/95022.htmoracle

 

2.標準法app

前兩天看到了這篇文章,親身體會了下,確實不錯,按照官方的文檔試了試本地部署,折騰一番後終於成功,記下心得在此,不敢獨享。less

  • 在IIS中新建一個網站,路徑選擇Exceptionless解壓目錄中的wwwroot目錄,端口這裏能夠自定義,好比用8004,應用程序池選4.0集成
  • 修改web.config中的ElasticSearchConnectionString爲es的站點http://localhost:9200,修改<add key="BaseURL" value="http://localhost:8004/#" />,注意後面的"#"
  • 修改app.config.*.js中的.constant('BASE_URL', 'http://localhost:8004')
  • 打開http://localhost:8004 就能看到登陸頁面了,而後建立帳戶-->建立項目,好比建立一個控制檯項目,這裏就會提示怎麼使用Exceptionless
  • ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI"),這裏的oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI就是api-key
  • 新建控制檯項目,使用 NuGet  安裝
    Install-Package Exceptionless

在Main中寫測試代碼:elasticsearch

複製代碼
//ExceptionlessClient.Default.Startup("qnN5lVebQ7LA94Erkthtkq5z57xX5Wg7ZzafiMdZ");
            var client = new ExceptionlessClient(c => {
                c.ApiKey = "oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI";
                c.ServerUrl = "http://localhost:8004";
            });
            
            try
            {
                throw new Exception("test exception "+DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));
            }
            catch (Exception ex)
            {
                client.SubmitException(ex);
                //ex.ToExceptionless().Submit();
                Console.WriteLine("error send");
            }
            Console.ReadKey();
複製代碼

這裏須要注意註釋掉的部分,或者是以下調用:

複製代碼
using Exceptionless.Configuration;
[assembly: Exceptionless("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI", ServerUrl = "http://localhost:8004")]
namespace ExceptionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI");
            //var client = new ExceptionlessClient(c => {
            //    c.ApiKey = "oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI";
            //    c.ServerUrl = "http://localhost:8004";
            //});
            try
            {
                throw new Exception("test exception "+DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));
            }
            catch (Exception ex)
            {
                //client.SubmitException(ex);
                ex.ToExceptionless().Submit();
                Console.WriteLine("error send");
            }
            Console.ReadKey();
        }
    }
}
複製代碼

api-key指定兩次,也能夠經過。

使用config配置:

複製代碼
<configuration>
  <configSections>
    <section name="exceptionless" type="Exceptionless.ExceptionlessSection, Exceptionless" />
  </configSections>
  <exceptionless apiKey="oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI" serverUrl="http://localhost:8004" />
</configuration>
複製代碼
複製代碼
using Exceptionless.Configuration;
//[assembly: Exceptionless("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI", ServerUrl = "http://localhost:8004")]
namespace ExceptionTest
{
    class Program
    {
        static void Main(string[] args)
        {
            ExceptionlessClient.Default.Startup("oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI");
            //var client = new ExceptionlessClient(c => {
            //    c.ApiKey = "oXX5BJqhS30ni045BqthqJtiSnpB0naMactfmYmI";
            //    c.ServerUrl = "http://localhost:8004";
            //});
            try
            {
                throw new Exception("test exception "+DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss"));
            }
            catch (Exception ex)
            {
                //client.SubmitException(ex);
                ex.ToExceptionless().Submit();
                Console.WriteLine("error send");
            }
            Console.ReadKey();
        }
    }
}
複製代碼

這樣就不須要在using那指定了。

接下來就能夠在http://localhost:8004/#/type/error/dashboard中看到異常信息了。