天天看點

Log4net的配置

最近在做.NET的項目,今天閑暇無事,特将log4net的配置整理一下,下面是關于log4net的相關配置:

1.使用者先從網上下載下傳log4net.dll檔案,将其包含在工程的引用檔案中。

2.在app.config中添加以下配置:

<configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.2"/>

  </configSections>

  <log4net>

    <!-- Define some output appenders -->

    <appender name="RollingLogFileAppender" type=" log4net.Appender.RollingFileAppender">

      <file value="log/his_log.txt" />

      <appendToFile value="true" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="10MB" />

      <rollingStyle value="Size" />

      <staticLogFileName value="true" />

      <layout type="log4net.Layout.PatternLayout">

        <header value="[Header]&#13;&#10;" />

        <footer value="[Footer]&#13;&#10;" />

        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />

      </layout>

    </appender>

    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">

      <file value="log/log-file.txt" />

      <!-- Example using environment variables in params -->

      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

      <!-- <file value="${TMP}/log-file.txt" /> -->

      <appendToFile value="true" />

      <!-- An alternate output encoding can be specified -->

      <!-- <encoding value="unicodeFFFE" /> -->

      <layout type="log4net.Layout.PatternLayout">

        <header value="[Header]&#13;&#10;" />

        <footer value="[Footer]&#13;&#10;" />

        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt; - %message%newline" />

      </layout>

      <!-- Alternate layout using XML  

      <layout type="log4net.Layout.XMLLayout" /> -->

    </appender>

    <appender name="ConsoleAppender" type=" log4net.Appender.ConsoleAppender">

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt; - %message%newline" />

      </layout>

    </appender>

    <!-- Setup the root category, add the appenders and set the default level -->

    <root>

      <level value="All" />

      <!--<appender-ref ref="LogFileAppender" />-->

      <appender-ref ref="ConsoleAppender" />

      <appender-ref ref="RollingLogFileAppender" />

      <!-- <appender-ref ref="ADONetAppender_SqlServer" /> -->

      <!--<appender-ref ref="NetSendAppender" />-->

      <!-- <appender-ref ref="A" /> -->

    </root>

    <!-- Specify the level for some specific categories -->

    <!--

  <logger name="Test.SimpleClass">

   <level value="ERROR" />

   <appender-ref ref="RollingLogFileAppender" />

  </logger>

   -->

  </log4net>

3.雖然app.config中的配置已經完成,但是此時log還不能正确的輸出,還需要在工程的AssemblyInfo.vb檔案中添加<Assembly: log4net.Config.xmlConfigurator()>

以上完成後,log就可以正常輸出了。^.^

4.由于項目采用clickonce安裝用戶端,是以将前端的log儲存在目前登入使用者的Local Settings/Temp下。

要實作其功能隻需将file value設為:<file value="${TMP}/log-file.txt" />,log4net會讀取PC的環境變量中TMP的值。

注:  <maxSizeRollBackups value="10" />設定儲存檔案的個數

        <maximumFileSize value="10MB" />設定每個檔案的大小

繼續閱讀