Apologies for another log4net configuration question. I have a referenced library that has this method:
public static ILog Logger = LogManager.GetLogger(typeof(MyClass));
public void InitializeLog()
{
XmlConfigurator.Configure(new FileInfo("log4net.xml"));
Logger.Info("Starting");
}
In the project that uses this DLL, I have the log4net.xml at the root level of the project. It looks like this:
<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>
The project calls InitializeLog()
before it ever tries to log anything. However, it won't even log the "Starting" message at the beginning. When I debug the method, in the Logger object I see Configured = false
. I have a feeling it has something to do with the path to the xml file, because it works fine in a project that uses this library as project reference instead of an external one (not an option here.) Thoughts as to why the configuration fails.?