使用log4net引用可配置项目

时间:2010-08-20 08:12:41

标签: c# log4net log4net-configuration

我有几个应用程序,我想添加他们对我的类库MyLogger的引用,它基于log4net。在这个库中,我有App.config文件。

所以我只想在这个项目/库中配置文件。

所以,这是我的应用程序中的方法

   public void TestMyLogger()
    {
    MyLogger myLogger=new MyLogger();

    }

这是MyLogger:

public class MyLogger
    {
        public MyLogger()
        {
            log4net.Config.XmlConfigurator.Configure();

            Log.Fatal("this is a fatal msg");
            Log.Error("this is an error msg");
            Log.Warn("this is a warn msg");
            Log.Info("this is an info msg");
            Log.Debug("this is a debug msg");
}

}

如何解决这个问题,让一切运转起来?

2 个答案:

答案 0 :(得分:2)

一个棘手的问题是将Log4net配置为您的配置,而不是应用程序。

根据Log4net文档,您必须使用

配置Log4net
var myDllConfig = ConfigurationManager.OpenExeConfiguration("foo.dll.config");
XmlConfigurator.Configure(new FileInfo(myDllConfig.FilePath))

答案 1 :(得分:1)

我理解你的问题意味着

  

我想要几个应用程序引用日志记录.dll,它有自己的配置

希望此链接很有用:c# dll config file

鉴于您可以为您的dll设置配置文件,您在其他项目中引用相同的dll应该没有问题。