2010-08-20 48 views
0

我有幾個應用程序,我想添加到他們對我的類庫MyLogger的引用,它基於log4net。在這個庫中我有App.config文件。使用log4net引用配置項目

所以我只想在這個項目/庫中的配置文件。

所以,這是方法在我的應用程序

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

一個棘手的問題是配置Log4net而不是應用程序。

據log4net的文檔,你將不得不使用配置log4net的

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

我明白你的問題是指

我想幾個應用程序引用一個記錄.dll文件,它有自己的配置

希望這種聯繫是有益的:c# dll config file

鑑於你可以爲你的dll設置一個配置文件,在其他項目中引用相同的dll應該沒有問題。