在应用Log4net时容易忘了在Program中加上这一句话,呵~
Program.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using log4net;
namespace Demo{
static class Program {
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
log4net.Config.XmlConfigurator.Configure();
Application.Run(new frmMainForm());
}
}
}
****************************************************************************
然后可以在基类中加上,
public ILog Logger {
get {
return LogManager.GetLogger(this.GetType());
}
}
然后就可以在继承的类中直接使用了,
Logger.Info("登录系统******Begin");
...
Logger.Info("登录系统******End");
或
try {
...;
}
catch (Exception e) {
Logger.Error(e.Message);
}
****************************************************************************
对于静态方法
public static ILog Logger {
get {
return LogManager.GetLogger("Logger");
}
}
应用,
private static string ExportXml(Kofax.DBLite.Batch batch)
{
Logger.Info("导出XML******Begin");
...
Logger.Info("导出XML******Begin");
}
****************************************************************************
对于App.config的应用
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net debug="false">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="../Logs" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyy-MM-dd".txt""/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date %-8level %-60type %-20method %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
</configuration>
此配置文件只需要在应用程式的项目中加就可以了,其基类、引用的类中都不需要加此配置文件。