log4net和log4j一样好

来源:互联网 发布:网络投资平台哪个好 编辑:程序博客网 时间:2024/06/09 14:30
这个东西很好用,呵呵。 而且是用在dotnet平台上的,不错。与log4j都是apache的血统。
open source的项目。本次打算在我们的新项目里使用。
 
以下简单写个使用步骤。
1:建立一个vb.net工程,名字叫button
2:在AssemblyInfo.vb里面添加一句
     <Assembly: log4net.Config.XmlConfiguratorAttribute(Watch:=True)>
3:在工程里面引用log4net.dll(可以去http://logging.apache.org/log4net/downloads.html下载)
4:在工程里面添加一个form1,并且把 Imports log4net 添加到form1的头部。
5: 在form1里面添加    
           Private Shared ReadOnly Log As log4net.ILog = _
           log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
6:在form1里面再添加以下代码,这段代码可以测一下多线程的log输出,呵呵。
    Private Sub myTestThread()
        With Log
            .Debug("Button1_Click Debug")
            System.Threading.Thread.Sleep(10)
            .Error("Button1_Click Error")
            System.Threading.Thread.Sleep(10)
            .Fatal("Button1_Click Fatal")
            System.Threading.Thread.Sleep(10)
            .Info("Button1_Click Info")
        End With
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim i As Integer
        Dim b As Integer
        b = 10
        For i = 1 To 10
            Dim MyThread As New System.Threading.Thread(AddressOf myTestThread)
            MyThread.Sleep(b)
            MyThread.Start()
            b -= 1
        Next i
    End Sub
7:在你生成的button.exe的同级目录下建立一个文件button.exe.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] &#13;&#10;" />
    <param name="Footer" value="[Footer] &#13;&#10;" />
    <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
   </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="button">
   <!-- <appender-ref ref="B" /> -->
   <level value="info" />
   <appender-ref ref="LogFileAppender" />
  </logger>
 </log4net>
</configuration>
 
8:运行button.exe,然后就可以看到当前目录下有个log-file.txt。里面就可以看到输出的log内容。
 
呵呵。这只是个helloworld程序,不过确实是个好的开始,dotnet下写log不用再麻烦了!
 
原创粉丝点击