Ссылка на настроенный проект с log4net - PullRequest
0 голосов
/ 20 августа 2010

У меня есть несколько приложений, и я хочу добавить к ним ссылку на мою библиотеку классов 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 ]

2 голосов
/ 20 августа 2010

Одним из сложных моментов будет настройка Log4net вашей конфигурации, а не приложения.

В соответствии с документацией Log4net, вам придется настроить Log4net, используя

var myDllConfig = ConfigurationManager.OpenExeConfiguration("foo.dll.config");
XmlConfigurator.Configure(new FileInfo(myDllConfig.FilePath))
1 голос
/ 20 августа 2010

Я понимаю, что ваш вопрос имеет значение

Я хочу, чтобы несколько приложений ссылались на файл .dll, который имеет свою собственную конфигурацию

, надеюсь, эта ссылка полезна: c # dll config file

Учитывая, что вы можете настроить конфигурационный файл для вашей dll, у вас не должно возникнуть проблем со ссылкой на ту же dll в других ваших проектах.

...