1. 程式人生 > >微服務分布式日誌-ExceptionLess篇

微服務分布式日誌-ExceptionLess篇

serve href ide targe CA basedir odin ins may

一、Exceptionless 簡介

Exceptionless 是一個開源的實時的日誌收集框架,它可以應用在基於 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技術棧的應用程序中,並且提供了Rest接口可以應用在 Javascript,Node.js 中。它將日誌收集變得簡單易用並且不需要了解太多的相關技術細節及配置。
在以前,我們做日誌收集大多使用 Log4net,Nlog 等框架,在應用程序變得復雜並且集群的時候,可能傳統的方式已經不是很好的適用了,因為收集各個日誌並且分析他們將變得麻煩而且浪費時間。
現在Exceptionless團隊給我們提供了一個更好的框架來做這件事情,我認為這是非常偉大並且有意義的,感謝他們。

就讓我們一起來看看吧。

官網:http://exceptionless.com/

GitHub:https://github.com/exceptionless/Exceptionless

二、ExceptionLess使用方式

  *  可在https://be.exceptionless.io直接申請試用,試用版有限制,每天最多3000條錯誤日誌,如需更多使只能購買付費。

 *  ExceptionLess開源的分布式日誌框架,可通過github下載安裝,搭建完全屬於自己的分布式日誌。

三、安裝使用效果
* 首頁
技術分享圖片
* 異常明細頁
技術分享圖片

還有更多,如快速搜索、錯誤郵件通知等功能就在此列舉......

四、App.config 文件配置


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
    <section name="exceptionless" type="Exceptionless.ExceptionlessSection, Exceptionless" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <extensions>
      ? ? <add assembly="Exceptionless.NLog" />
    </extensions>
    ? <targets async="true">
      <!--默認連接官網exceptionLess start -->
      <!--<target xsi:type="Exceptionless" name="exceptionless" apiKey="h8C1yN1CfmvHH6wxzNW4JxBEc78N4BfBvJI1mayz">
        ? ? ?         <field name="host" layout="${machinename}" />
        ? ? ?         <field name="identity" layout="${identity}" />
        ? ? ?         <field name="windows-identity" layout="${windows-identity:userName=True:domain=False}" />
        ? ? ?         <field name="process" layout="${processname}" />
        </target>-->
      <!--默認連接官網exceptionLess end -->
        
      <!--本地服務器 start -->
      <target xsi:type="Exceptionless" name="exceptionless" apiKey="7BvRwz9RohyG1Bz98TFxKdJX75ZzOCHLQNLwmpqT" serverUrl="http://XX.XX.XX.XX:50000/">
        <field name="host" layout="${machinename}" />
        <field name="identity" layout="${identity}" />
        ? ? ?  <field name="windows-identity" layout="${windows-identity:userName=True:domain=False}" />
        ? ? ?  <field name="process" layout="${processname}" />
      </target>
      <!--本地服務器 end -->

      <!--正常寫日誌-->
      <target name="console" type="ColoredConsole" encoding="utf-8" layout="${longdate}|${level:uppercase=true}|${logger}|${message}" useDefaultRowHighlightingRules="true"/>
      <target name="file" type="File" encoding="utf-8" fileName="${basedir}/logs/Trade-${shortdate}.log" layout="${longdate}|${level:uppercase=true}|${logger}|${message}" />
    </targets>
    ? <rules>
      <!--exceptionless start 日誌-->
      <logger name="*" minlevel="Trace" writeTo="exceptionless" />
      <logger name="*" minlevel="Info" writeTo="exceptionless" />
      <!--exceptionless end 日誌-->
        
      <!--正常輸出 start -->
      <logger name="*" minlevel="Debug" writeTo="console" />
      <logger name="*" minlevel="Warn" writeTo="file" />
      <!--正常輸出 end -->
    </rules>
  </nlog>
</configuration>

五、源代碼地址:
* 鏈接: https://pan.baidu.com/s/15rEzv-gwwa0znVscPQ2mlg 密碼: ecm6

微服務分布式日誌-ExceptionLess篇