当前位置导航:炫浪网>>网络学院>>编程开发>>Visual C#教程

在C#中使用LOG4NETwinform程序

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] <%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("你好!");  
 
 
 
        }  
 
    }

相关内容
赞助商链接