2010-08-20 11 views
0

J'ai quelques applications et je veux ajouter à leur référence à ma bibliothèque de classes MyLogger, qui se base sur log4net. Dans cette bibliothèque j'ai le fichier App.config.Référence au projet configuré avec log4net

Donc je veux le fichier de configuration seulement dans ce projet/bibliothèque.

Ainsi, cette méthode dans mes applications

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

    } 

et c'est 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"); 
} 

} 

Comment corriger cela, avoir tout fonctionne?

Répondre

2

Un point délicat sera de configurer votre configuration Log4net et non celle de l'application.

Selon la documentation Log4net, vous devrez configurer Log4net en utilisant

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

Je comprends votre question signifie

Je veux plusieurs applications pour référencer un fichier .dll de l'exploitation forestière, qui a sa propre configuration

nous espérons que ce lien est utile: c# dll config file

Compte tenu que vous pouvez configurer un fichier de configuration pour votre DLL, vous ne devriez pas avoir de problème à référencer la même DLL dans vos autres projets.