Exceptionless搭配log4net記錄日誌

來源:互聯網
上載者:User

標籤:

接上篇:

Exceptionless 本地部署

在部署完成後可以使用log4net搭配Exceptionless來記錄日誌。

過程很簡單,使用Nuget安裝Exceptionless.Log4net,安裝完成後會自動開啟一個readme.txt,裡面有介紹使用,其實就是把下面這段配置放到log4net的配置中:

<appender name="exceptionless" type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />

在項目中添加設定檔log4net.config並設定始終複製到輸出目錄:

<?xml version="1.0" encoding="utf-8" ?><configuration>  <configSections>    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />  </configSections>  <log4net>    <!--定義輸出到檔案中-->    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">      <!--定義檔案存放位置-->      <file value="log\\"/>      <!--是否追加到檔案,預設為true,通常無需設定-->      <appendToFile value="true"/>      <!--多線程時採用最小鎖定-->      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>      <!--變換的形式為日誌大小-->      <!--這種情況下MaxSizeRollBackups和maximumFileSize的節點設定才有意義-->      <!--<rollingStyle value="Size"/>-->      <!--每天記錄的記錄檔個數,與maximumFileSize配合使用-->      <!--<MaxSizeRollBackups value="10"/>-->      <!--每個記錄檔的最大大小-->      <!--可用的單位:KB|MB|GB-->      <!--不要使用小數,否則會一直寫入當前日誌-->      <!--<maximumFileSize value="2MB"/>-->      <!--變換的形式為日期,這種情況下每天只有一個日誌-->      <!--此時MaxSizeRollBackups和maximumFileSize的節點設定沒有意義-->      <rollingStyle value="Date"/>      <!--每分鐘寫一個檔案-->      <!--<datePattern value="yyyyMMdd-HHmm" />-->      <!--日期的格式,每天換一個檔案記錄,如不設定則永遠只記錄一天的日誌,需設定-->      <datePattern value="yyyyMMdd\\HH‘.txt‘"/>      <staticLogFileName value="false"/>      <param name="MaxSizeRollBackups" value="100"/>      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value="%newline %n記錄時間:%date %n描述:%message"/>        <!--<conversionPattern value="%newline %n記錄時間:%date %n線程ID:[%thread] %n記錄層級:  %-5level %n出錯類:%logger property: [%property{NDC}] - %n錯誤描述:%message%newline %n"/>-->      </layout>    </appender>    <appender name="exceptionless" type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />    <root>      <!--控制層級,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->      <!--比如定義層級為INFO,則INFO層級向下的層級,比如DEBUG日誌將不會被記錄-->      <!--如果沒有定義LEVEL的值,則預設為DEBUG-->      <level value="ALL"/>      <!--檔案形式記錄日誌-->      <appender-ref ref="RollingLogFileAppender"/>      <appender-ref ref="exceptionless"/>    </root>  </log4net></configuration>
View Code

修改程式碼如下:

static void Main(string[] args)        {            FileInfo fi = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log4net.config"));            XmlConfigurator.ConfigureAndWatch(fi);            ILog logger= LogManager.GetLogger(typeof(Program));            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();                logger.Error(ex);                Console.WriteLine("error send");            }            Console.ReadKey();        }

在http://localhost:8004/#/type/log/dashboard中就能看到日誌內容了:

Exceptionless搭配log4net記錄日誌

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.