Log4net.config配置文件

本文详细介绍了如何配置log4net的日志管理系统,包括输出介质的定义、配置输出设置、根日志与具体日志对象的配置等关键步骤。
<?xml version="1.0" encoding="utf-8" ?>
<!-- 
        .NET application configuration file     
        This file must have the exact same name as your application with .config appended to it. 
        
        For example if your application is ConsoleApp.exe then the config file must be ConsoleApp.exe.config. 
        It must also be in the same directory as the application. 
    -->
<configuration>
  <!-- Register a section handler for the log4net section -->
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
  </configSections>
  <appSettings>
    <!-- To enable internal log4net logging specify the following appSettings key -->
    <!-- <add key="log4net.Internal.Debug" value="true"/> -->
  </appSettings>
  <!-- This section contains the log4net configuration settings -->
  <log4net>
    <!-- Define some output appenders -->
    <!--Appender的组件来定义输出介质-->
    <!--log4net.Appender.RollingFileAppender日志文件超过maximumFileSize后自动创建第二个文件-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="rolling-log.txt" />
      <appendToFile value="true" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="100" />
      <rollingStyle value="Size" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <header value="[Header]
" />
        <footer value="[Footer]
" />
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
      </layout>
    </appender>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <file value="log-file.txt" />
      <!-- Example using environment variables in params -->
      <!-- <file value="${TMP}\log-file.txt" /> -->
      <sppendToFile value="true" />
      <!-- An alternate output encoding can be specified -->
      <!-- <encoding value="unicodeFFFE" /> -->
      <layout type="log4net.Layout.PatternLayout">
        <geader value="[Header]
" />
        <footer value="[Footer]
" />
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %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] <%property{auth}> - %message%newline" />
      </layout>
    </appender>
    <appender name="NetSendAppender" type="log4net.Appender.NetSendAppender">
      <threshold value="ERROR" />
      <server value="SQUARE" />
      <recipient value="nicko" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
      </layout>
    </appender>
    
    <!-- Example of how to configure the AdoNetAppender    -->    
        <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender" >            
            <connectionString value="Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;" />
            <layout type="log4net.Layout.PatternLayout">                
                <conversionPattern value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES ('%date','%thread','%level','%logger','%message')" />
            </layout>
        </appender> 
   
        <appender name="A" type="log4net.Appender.ForwardingAppender" >
            <threshold value="WARN"/>            
            <appender-ref ref="ConsoleAppender" />        
        </appender>
    
        <appender name="B" type="log4net.Appender.ForwardingAppender" >
            <filter type="log4net.Filter.LevelRangeFilter">
                <levelMin value="DEBUG"/>
                <levelMax value="INFO"/>
            </filter>
            <appender-ref ref="ConsoleAppender" />
        </appender> 
        -->
   <!-- Setup the root category, add the appenders and set the default level -->
   <!-- 在框架的体系里,所有的日志对象都是根日志(root logger)的后代。 
    因此如果一个日志对象没有在配置文件里显式定义,则框架使用根日志中定义的属性。
    在<root>标签里,可以定义level级别值和Appender的列表。如果没有定义LEVEL的值,
    则缺省为DEBUG。可以通过<appender-ref>标签定义日志对象使用的Appender对象。
    <appender-ref>声明了在其他地方定义的Appender对象的一个引用。
    在一个logger对象中的设置会覆盖根日志的设置。
    而对Appender属性来说,子日志对象则会继承父日志对象的Appender列表。
    这种缺省的行为方式也可以通过显式地设定<logger>标签的additivity属性为false而改变。-->
    <root>
      <level value="All" />
      <!--引用的appender的名称-->
      <appender-ref ref="LogFileAppender" />
       <appender-ref ref="ConsoleAppender" />
    </root>
    
    <!-- Specify the level for some specific categories -->
    <!-- 元素预定义了一个具体日志对象的设置。
            然后通过调用LogManager.GetLogger(“testAPP.Logging”)函数,
            你可以检索具有该名字的日志。如果LogManager.GetLogger(…)打开的不是预定义的日志对象,
            则该日志对象会继承根日志对象的属性。知道了这一点,我们可以说,
            其实<logger>标签并不是必须的。-->
    <!--<logger name="ConsoleApp.LoggingExample">
      <level value="ALL" />
      --><!--引用的appender的名称--><!--
      <appender-ref ref="ConsoleAppender" />
    </logger>
    
    <logger name="LogFileAppender.LoggingExample">
      <level value="ALL" />
      --><!--引用的appender的名称--><!--
      <appender-ref ref="LogFileAppender" />
    </logger>-->
  </log4net>
</configuration>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值