Log4net的配置使用

项目中添加引用log4net.dll,目前最新版是1.2.10.0。
 
初始化时执行一次Configure。
 
 
  1. log4net.Config.XmlConfigurator.Configure(new FileInfo("logconfig.xml"));
在需要使用的类中声明log。使用 typeof(类名) 做参数。
 
 
  1. private log4net.ILog log = log4net.LogManager.GetLogger(typeof(SomeClass));
使用:
 
  1. if(log.IsDebugEnabled)
  2.   log.Debug("some message");
  3. //...
  4. try{...}
  5. catch(Exception ex)
  6. {
  7.   log.Error("some error", ex);
  8. }
============================== ==
logconfig.xml的内容如下:(主体是官方示例中的配置,居然有拼写和格式错误)
  1. <?xml version="1.0" encoding="utf-8" ?>
  2.  <!-- This section contains the log4net configuration settings -->
  3.  <log4net>
  4.   <!-- Define some output appenders -->
  5.   <appender name="RollingLogFileAppender" type=" log4net.Appender.RollingFileAppender">
  6.    <file value="rolling-log.txt" />
  7.    <appendToFile value="true" />
  8.    <maxSizeRollBackups value="10" />
  9.    <maximumFileSize value="10MB" /> 
  10.    <rollingStyle value="Size" />
  11.    <staticLogFileName value="true" />
  12.    <layout type="log4net.Layout.PatternLayout">
  13.     <header value="[Header] " /> 
  14.     <footer value="[Footer] " />
  15.     <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
  16.    </layout>
  17.   </appender> 
  18.   <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
  19.    <file value="log-file.txt" /> 
  20.    <!-- Example using environment variables in params --> 
  21.    <!-- <file value="${TMP}/log-file.txt" /> -->
  22.    <appendToFile value="true" />
  23.    <!-- An alternate output encoding can be specified -->
  24.    <!-- <encoding value="unicodeFFFE" /> --> 
  25.    <layout type="log4net.Layout.PatternLayout">
  26.     <header value="[Header] " />
  27.     <footer value="[Footer] " />
  28.     <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" /> 
  29.    </layout>
  30.    <!-- Alternate layout using XML   
  31.    <layout type="log4net.Layout.XMLLayout" /> -->
  32.   </appender>
  33.   <appender name="ConsoleAppender" type=" log4net.Appender.ConsoleAppender">
  34.    <layout type="log4net.Layout.PatternLayout">
  35.     <conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" /> 
  36.    </layout>
  37.   </appender>
  38.   <!--
  39.   <appender name="NetSendAppender" type="log4net.Appender.NetSendAppender">
  40.    <threshold value="ERROR" />
  41.    <server value="SQUARE" /> 
  42.    <recipient value="nicko" />
  43.    <layout type="log4net.Layout.PatternLayout">
  44.     <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" /> 
  45.    </layout>
  46.   </appender>
  47.   -->
  48.   <!-- Example of how to configure the AdoNetAppender  
  49.   <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender" >    
  50.    <connectionString value="Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Work/cvs_root/log4net-1.2/access.mdb;UID=;PWD=;" />
  51.    <layout type=" log4net.Layout.PatternLayout">    
  52.     <conversionPattern value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES ('%date','%thread','%level','%logger','%message')" />
  53.    </layout>
  54.   </appender> 
  55.   --> 
  56.   <!-- 
  57.   <appender name="A" type="log4net.Appender.ForwardingAppender" >
  58.    <threshold value="WARN"/>   
  59.    <appender-ref ref="ConsoleAppender" />   
  60.   </appender>
  61.   <appender name="B" type="log4net.Appender.ForwardingAppender" >
  62.    <filter type="log4net.Filter.LevelRangeFilter">
  63.     <levelMin value="DEBUG"/> 
  64.     <levelMax value="INFO"/>
  65.    </filter>
  66.    <appender-ref ref="ConsoleAppender" />
  67.   </appender> 
  68.   -->
  69.   <!-- Example of how to configure the AdoNetAppender to connect to MS Access --> 
  70.   <!--
  71.   <appender name="ADONetAppender_Access" type="log4net.Appender.AdoNetAppender">
  72.    <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Work/cvs_root/log4net- 1.2/access.mdb;User Id=;Password=;" />
  73.    <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  74.    <parameter> 
  75.     <parameterName value="@log_date" />
  76.     <dbType value="String" />
  77.     <size value="255" />
  78.     <layout type="log4net.Layout.PatternLayout">
  79.      <conversionPattern value="%date" />
  80.     </param>
  81.    </parameter>
  82.    <parameter>
  83.     <parameterName value="@thread" />
  84.     <dbType value="String" /> 
  85.     <size value="255" />
  86.     <layout type="log4net.Layout.PatternLayout ">
  87.      <conversionPattern value="%thread" />
  88.     </layout>
  89.    </parameter> 
  90.    <parameter>
  91.     <parameterName value="@log_level" />
  92.     <dbType value="String" />
  93.     <size value="50" />
  94.     <layout type="log4net.Layout.PatternLayout ">
  95.      <conversionPattern value="%level" />
  96.     </layout>
  97.    </parameter>
  98.    <parameter>
  99.     <parameterName value="@logger" />
  100.     <dbType value="String" /> 
  101.     <size value="255" />
  102.     <layout type="log4net.Layout.PatternLayout">
  103.      <conversionPattern value="%logger" />
  104.     </layout>
  105.    </parameter> 
  106.    <parameter>
  107.     <parameterName value="@message" />
  108.     <dbType value="String" />
  109.     <size value="1024" />
  110.     <layout type="log4net.Layout.PatternLayout ">
  111.      <conversionPattern value="%message" />
  112.     </layout>
  113.    </parameter>
  114.   </appender>
  115.   -->
  116.   <!-- Example of how to configure the AdoNetAppender to connect to MS SQL Server --> 
  117.   <!--
  118.   <appender name="ADONetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
  119.    <bufferSize value="1" />
  120.    <connectionType value="System.Data.SqlClient.SqlConnection , System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  121.    <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa" /> 
  122.    <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  123.    <parameter>
  124.     <parameterName value="@log_date" /> 
  125.     <dbType value="DateTime" />
  126.     -->
  127.     <!-- 
  128.     <layout type="log4net.Layout.PatternLayout">
  129.      <conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" /> 
  130.     </layout> 
  131.     
  132.     <layout type="log4net.Layout.RawTimeStampLayout" />
  133.    </parameter>
  134.    <parameter>
  135.     <parameterName value="@thread" />
  136.     <dbType value="String" /> 
  137.     <size value="255" />
  138.     <layout type="log4net.Layout.PatternLayout">
  139.      <conversionPattern value="%thread" />
  140.     </layout>
  141.    </parameter> 
  142.    <parameter>
  143.     <parameterName value="@log_level" />
  144.     <dbType value="String" />
  145.     <size value="50" />
  146.     <layout type="log4net.Layout.PatternLayout ">
  147.      <conversionPattern value="%level" />
  148.     </layout>
  149.    </parameter>
  150.    <parameter>
  151.     <parameterName value="@logger" />
  152.     <dbType value="String" /> 
  153.     <size value="255" />
  154.     <layout type="log4net.Layout.PatternLayout">
  155.      <conversionPattern value="%logger" />
  156.     </layout>
  157.    </parameter> 
  158.    <parameter>
  159.     <parameterName value="@message" />
  160.     <dbType value="String" />
  161.     <size value="4000" />
  162.     <layout type="log4net.Layout.PatternLayout ">
  163.      <conversionPattern value="%message" />
  164.     </layout>
  165.    </parameter>
  166.   </appender>
  167.   -->
  168.   <!-- Setup the root category, add the appenders and set the default level --> 
  169.   <root>
  170.    <level value="ALL" />
  171.    <appender-ref ref="LogFileAppender" /> 
  172.    <appender-ref ref="ConsoleAppender" />
  173.    <appender-ref ref="RollingLogFileAppender" /> 
  174.    <!-- <appender-ref ref="ADONetAppender_SqlServer" /> -->
  175.    <!--<appender-ref ref="NetSendAppender" />-->
  176.    <!-- <appender-ref ref="A" /> --> 
  177.   </root>
  178.   <!-- Specify the level for some specific categories -->
  179.   <!--
  180.   <logger name="Test.SimpleClass">
  181.    <level value="ERROR" />
  182.    <appender-ref ref="RollingLogFileAppender" /> 
  183.   </logger>
  184.   -->
  185.  </log4net>
 

 

 

你可能感兴趣的:(thread,Date,String,layout,log4net,newline)