log4net for dotnet2 的使用

log4net for dotnet2 的使用
下午 04:39 2011/2/12 tom

一、log4net 配置文件
將配置文件放在一個獨立的文件中,如,Log4Net.config。
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
 <root>
  <level value="DEBUG" />
  <appender-ref ref="rollingFile" />
 </root>
 <appender  name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
  <param name="File" value="Log\log.txt" />
  <param name="AppendToFile" value="true" />
  <param name="RollingStyle" value="Date" />
  <param name="DatePattern" value="yyyy.MM.dd" />
  <param name="StaticLogFileName" value="true" />
  <layout type="log4net.Layout.PatternLayout,log4net">
   <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
   <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
   <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" />   
  </layout>
 </appender>
 
 <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
  <layout type="log4net.Layout.PatternLayout,log4net">
   <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
  </layout>
 </appender>
 
 <logger name="IQC.Log">
  <level value="DEBUG" />
  <appender-ref  ref="rollingFile" />
  <appender-ref ref="coloredConsoleApp" />
  <appender-ref ref="SystemEvent" />
 </logger>
</log4net>

二、在WinApp中使用
1、將Log4Net.config複製到bin下面。
2、在AssemblyInfo.cs中添加下面一行代碼。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
3、使用
using log4net;
public class test()
{
 private static readonly ILog logger = LogManager.GetLogger(typeof(test)); // test 處寫類名稱

 try
 {
     int a = int.Parse("s");                 
 }
 catch (Exception ex)
 {
     logger.Error(ex.Message, ex);
 }
}

三、在WebApp中使用
1、將Log4Net.config複製到WebApp的根目錄下。
2、在AssemblyInfo.cs中添加下面一行代碼。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
3、使用
using log4net;
public class test()
{
 private static readonly ILog logger = LogManager.GetLogger(typeof(test)); // test 處寫類名稱

 try
 {
     int a = int.Parse("s");                 
 }
 catch (Exception ex)
 {
     logger.Error(ex.Message, ex);
 }
}

四、在WebSite中使用
1、將Log4Net.config複製到WebSite的根目錄下。
2、自定義一個Class封裝log4net的方法(實現ILog接口),並且在AssemblyInfo.cs中添加下面一行代碼。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
3、在WebSite中引用Logging.dll
4、使用
using Logging;
public class test()
{
 private static readonly Log myLogger = new Log();

 try
 {
     int a = int.Parse("s");                 
 }
 catch (Exception ex)
 {
     myLogger.Error(ex.Message, ex);
 }
}

總結
1、在WebSite中使用稍麻煩,加載配置文件
2、定義了LogUtil類,在Test.aspx.cs測試時,Error Classname總是LogUtil。
需實現ILog接口,參考subText的寫法,獲取當前的class。
3、花了3個小時。

原文地址:https://www.cnblogs.com/htht66/p/1954378.html