天天看点

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" />设定每个文件的大小

继续阅读