中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

我(wo)心(xin)中的核心(xin)組(zu)件(可插拔的AOP)~第三(san)回(hui) 日志記錄組(zu)件之log4net

回到目錄

在(zai)項目(mu)中有統一(yi)的日志(zhi)是很(hen)必要的,之前自己寫過vlog項目(mu),這個(ge)(ge)項目(mu)與現在(zai)比較流行的log4net很(hen)像,用起(qi)來也很(hen)方便,今天主要說一(yi)下log4net這個(ge)(ge)日志(zhi)工具,這使用vs2012測試的,使用nuget把log4net組(zu)件添加到項目(mu)中,如圖:

然后在項目里為(wei)log4net建立一(yi)個配置文件(jian),可以(yi)命名為(wei)log4net.config,一(yi)般代(dai)碼(ma)如下:

<log4net>
  <logger name="loginfo">
    <level value="INFO" />
    <appender-ref ref="LogFileAppender" />
  </logger>
  <!--定義輸出到(dao)文件中-->
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <!--定(ding)義文(wen)件(jian)存(cun)放(fang)位置-->
    <file value="log4netfile.txt" />
    <appendToFile value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <!--每條日志末尾的文字說明(ming)-->
      <footer value="by 占占" />
      <!--輸出格式-->
      <!--樣例(li):2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
      <conversionPattern value="記錄時間:%date 線程(cheng)ID:[%thread] 日志級別:%-5level 出錯類:%logger property:[%property{NDC}] - 錯誤描述:%message%newline" />
    </layout>
  </appender>
  <!--定(ding)義輸出(chu)到控(kong)制臺命令(ling)行中(zhong)-->
  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
  </appender>
  <!--定義輸出到windows事件中-->
  <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
    </layout>
  </appender>
  <!--定義輸出到數據庫中,這里舉例輸出到Access數據庫中,數據庫為C盤的(de)log4net.mdb-->
  <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
    <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />
    <commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />
    <!--定義各個參數-->
    <parameter>
      <parameterName value="@logDate" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@thread" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%thread" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@logLevel" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%level" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@logger" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%logger" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@message" />
      <dbType value="String" />
      <size value="240" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%message" />
      </layout>
    </parameter>
  </appender>
  <!--定(ding)義日(ri)(ri)志(zhi)的輸(shu)出媒介,下面定(ding)義日(ri)(ri)志(zhi)以四種方式輸(shu)出。也(ye)可以下面的按照一種類(lei)型(xing)(xing)或其他(ta)類(lei)型(xing)(xing)輸(shu)出。-->
</log4net>

在(zai)log4net中日志(zhi)記錄(lu)方法有文(wen)本(ben)文(wen)件,WINDOWS日志(zhi),SQL數據庫(ku)等(deng)等(deng),你可以自己去配(pei)置,對于(yu)日志(zhi)級(ji)別,它提(ti)供了(le)fatal,error,warn,debug和(he)info

你(ni)可(ke)以根據自己的需要進行選擇。

     static JobBase()
        {
            log4net.Config.XmlConfigurator.Configure();//加載app.config中的配置
        }

        /// <summary>
        /// log4日志對(dui)象(xiang)
        /// </summary>
        protected log4net.ILog Logger = log4net.LogManager.GetLogger("Core.Logger");

如果(guo)你的log4net不在(zai)app.config中配(pei)置(zhi),而是單獨在(zai)指(zhi)定(ding)的配(pei)置(zhi)文件中,也可以使用下(xia)面的方(fang)法(fa)

 log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Environment.CurrentDirectory + @"\log4net.config"));

log4net也并非(fei)是(shi)完美(mei),在(zai)使(shi)用(yong)(yong)上還有一些問題,但它(ta)應用(yong)(yong)面(mian)太(tai)廣,被很(hen)多開源項目使(shi)用(yong)(yong),所以,咱們也只好用(yong)(yong)它(ta)了,呵呵。

回到目錄

posted @ 2013-05-17 13:50  張占嶺  閱讀(2077)  評論(2)    收藏  舉報