Приносим извинения за еще один вопрос по настройке log4net. У меня есть указанная библиотека, в которой есть этот метод:
public static ILog Logger = LogManager.GetLogger(typeof(MyClass));
public void InitializeLog()
{
XmlConfigurator.Configure(new FileInfo("log4net.xml"));
Logger.Info("Starting");
}
В проекте, который использует эту DLL, у меня есть файл log4net.xml на корневом уровне проекта. Выглядит это так:
<log4net>
<logger name="NHibernate">
<level value="DEBUG" />
</logger>
<logger name="NHibernate.SQL">
<level value="DEBUG" />
</logger>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%newline%newline" />
</layout>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="C:\log\project.log" />
<appendToFile value="true" />
<maximumFileSize value="10000KB" />
<maxSizeRollBackups value="5" />
<layout type="log4net.Layout.PatternLayout">
<footer value =" "/>
<conversionPattern value="%date %level - %message%newline%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</root>
</log4net>
Проект вызывает InitializeLog()
, прежде чем что-либо пытается зарегистрировать. Однако он даже не будет записывать сообщение «Запуск» в начале. Когда я отлаживаю метод, в объекте Logger я вижу Configured = false
. У меня есть ощущение, что это как-то связано с путем к XML-файлу, потому что он отлично работает в проекте, который использует эту библиотеку в качестве ссылки на проект вместо внешней (здесь не вариант). Мысли о том, почему конфигурация не работает. .?
Exists
, чтобы увидеть, подбирает ли оно его) - person stuartd   schedule 16.03.2016