C#中使用LOG4NET(winform程序)

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)] )

   在类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] &lt;%X{auth}&gt; - %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] &lt;%X{auth}&gt; - %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 @ 2012-05-31 14:54  Net-Spider  阅读(939)  评论(0)    收藏  举报