若 Log4Net 不使用 App.Config 而使用独立的配置文件,可以按如下操作:
1、在使用配置文件的项目中创建文件:程序集名称 + .dll或.exe + .log4net,例如:VME.Log.dll.log4net。该文件名表示名称为 VME.Log 类型为类库的程序集加载的配置文件。
2、在使用配置文件的项目中命名空间上方加入如下代码:
[assembly: log4net.Config.Repository("VME.Log")]
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "log4net", Watch = true)]
其中,Repository 处填入当前项目程序集名称;ConfigFileExtension 表示配置文件扩展名称;Watch 表示自动监控配置文件的变更
具体代码如下:
using System;
[assembly: log4net.Config.Repository("VME.Log")]
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "log4net", Watch = true)]
namespace VME.Log
{
public class LogHelper
{
private static readonly log4net.ILog _log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static void Fatal(string message, Exception exception)
{
_log.Fatal(message, exception);
}
public static void Fatal(string message)
{
_log.Fatal(message);
}
}
}