每做一个新项目,都会用到log4net,但总是忘记如何快速配置。有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net。

直接上介绍的步骤:

1. 官网下载最新版的log4net。http://logging.apache.org/log4net/download_log4net.cgi,打开官网,在Binaries类别下,下载最新版的log4net包,点击如下图所示按钮下载:

Log4net快速配置使用指南。(快速搭建log4net日志平台手册)

2. 找到所需的log4net版本。下载后,解压缩包,找到自己.net程序所对应的log4net版本,我用的是VisualStudio 2010,项目用的是.netframework 4.0, 所以我用的log4net版本在C:\Users\zhengshuangliang\Downloads\log4net-1.2.13-bin-newkey\log4net-1.2.13\bin\net\4.0\release\

3. 选择配置信息存放方式。我喜欢把log4net的配置文件和项目的配置文件(app.config或web.config)放在一起,所以我删除了log4net自带的配置文件log4net.xml,而是把配置信息放在app.config或web.config里。

4. 在最终执行的项目配置文件里添加log4net配置信息。在app.config或web.config中添加如下面代码中的<configSections>和<log4net>的内容(代码中以黄色背景标识)。

  只需在最终执行的项目下添加配置文件就行,因为所有的其他项目或引用的dll都会走同一个入口(可执行项目),所以整个产品就只有一份log4net配置文件即可,在你想写日志的项目里引用log4net.dll,直接创建Logger对象写日志即可,详细操作可参照步骤6

  以下log4net配置信息将会在可执行的项目目录下创建Log文件夹,里面会创建名位:Logs_20150116.txt;Logs_20150116.txt1;Logs_20150116.txt2的日志文件,每个文件最大为10M,不设文件数目上限,日期变化后会重新生成新的日志文件。若需要更详细的的配置信息请参看其他博文,本文不做详细介绍

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <appSettings>
    <add key="RestServicePort" value="8899"/>
  </appSettings>

  <log4net>
    <!--配置日志的级别,低于此级别的就不写到日志里面去OFF、FATAL、ERROR, WARN, INFO, DEBUG, ALL-->
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>
    <logger name="WebLogger">
      <level value="ERROR" />
    </logger>
    <!--输出到文件-->
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <param name="File" value="Log/" />
      <param name="AppendToFile" value="true" />
      <!-- 切割最多文件数 -1表示不限制产生日志文件数-->
      <param name="MaxSizeRollBackups" value="-1"/>
      <!-- 每个文件的大小限制  -->
      <param name="MaximumFileSize" value="10MB"/>
      <!-- RollingStyle Composite 综合  Size 按大小  Date 按时间 -->
      <param name="RollingStyle" value="Composite" />
      <param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="Header" value="&#xD;&#xA;----------------------application startup--------------------------&#xD;&#xA;" />
        <param name="Footer" value="&#xD;&#xA; ----------------------application shutdown--------------------------&#xD;&#xA;" />
        <param name="ConversionPattern" value="%d ThreadId[%t] %-5p %c - (Line:%line)  %m%n" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ALL" />
        <param name="LevelMax" value="OFF" />
      </filter>
    </appender>
    <!--输出控制台-->
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender,log4net">
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - (%line) %m%n" />
      </layout>
    </appender>
  </log4net>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>
View Code

相关文章: