log4net 使用教程

1.下载log4net (Google log4net) //已有



2.unzip log4net 

3.运行VS,新建 c# Windows应用程序。 

4.添加引用Log4NET 

5.新建一个应用程序配置文件App.config(具体内容附在后面) 

6.打开Form1.cs, 

在Namespace上添加一行 [assembly: log4net.Config.DOMConfigurator(Watch=true)] 
(或者 编辑Assembly.cs文件,添加如下内容: 
[assembly:log4net.Config.DOMConfigurator( ConfigFileExtension="config",Watch=true)] ) 

也可以在properties下面的AssemblyInfo.cs下添加

[assembly:log4net.Config.XOMConfigurator( ConfigFileExtension="config",Watch=true)] )  


在类Form1中添加一个静态变量 

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 



7.添加一个按钮。在按钮处理函数中添加一行 log.Warn("你好!"); 



8.运行程序。点一下按钮。 



OK,打开Bin\Debug\log-file.txt,可以看到“你好”。 





附.App.config 



<?xml version="1.0" encoding="utf-8" ?> 

<configuration> 

<!-- Register a section handler for the log4net section --> 

<configSections> 

<section name="log4net" type="System.Configuration.IgnoreSectionHandler" /> 

</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 name="LogFileAppender" type="log4net.Appender.FileAppender"> 

<param name="File" value="log-file.txt" /> 

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

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

<param name="AppendToFile" value="true" /> 

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

<!-- <param name="Encoding" value="unicodeFFFE" /> --> 

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

<param name="Header" value="[Header]\r\n" /> 

<param name="Footer" value="[Footer]\r\n" /> 

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" /> 

</layout> 

<!-- Alternate layout using XML 

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

</appender> 



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

<root> 

<level value="ALL" /> 

<appender-ref ref="LogFileAppender" /> 

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

</root> 



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

<logger name="SLog4net.Form1"> 

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

<level value="ALL" /> 

<appender-ref ref="RollingLogFileAppender" /> 

</logger> 

</log4net> 

</configuration> 





--------------------------------App.config 

<?xml version="1.0" encoding="utf-8" ?> 

<configuration> 

<!-- Register a section handler for the log4net section --> 

<configSections> 

<section name="log4net" type="System.Configuration.IgnoreSectionHandler" /> 

</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 name="LogFileAppender" type="log4net.Appender.FileAppender"> 

<param name="File" value="log-file.txt" /> 

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

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

<param name="AppendToFile" value="true" /> 

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

<!-- <param name="Encoding" value="unicodeFFFE" /> --> 

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

<param name="Header" value="[Header]\r\n" /> 

<param name="Footer" value="[Footer]\r\n" /> 

<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" /> 

</layout> 

<!-- Alternate layout using XML 

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

</appender> 



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

<root> 

<level value="ALL" /> 

<appender-ref ref="LogFileAppender" /> 

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

</root> 



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

<logger name="SLog4net.Form1"> 

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

<level value="ALL" /> 

<appender-ref ref="RollingLogFileAppender" /> 

</logger> 

</log4net> 

</configuration> 

//调用------------------------------------------------------------ 

using System; 

using System.Collections.Generic; 

using System.ComponentModel; 

using System.Data; 

using System.Drawing; 

using System.Text; 

using System.Windows.Forms; 

using log4net; 



[assembly: log4net.Config.DOMConfigurator(Watch = true)] 

namespace WindowsApplication1 

{ 





public partial class Form1 : Form 

{ 

public Form1() 

{ 

InitializeComponent(); 

} 





private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 





private void button1_Click(object sender, EventArgs e) 

{ 

log.Warn("你好!"); 



} 

}

posted @ 2014-07-28 21:29  爱神之剑  阅读(301)  评论(0编辑  收藏  举报