Проблема (я думаю) в том, что вы ПОЛУЧАЕТЕ (GetLogger) регистратор, прежде чем задать имя и загрузить конфигурацию ...
Попробуйте сделать объявление логгера как: private static log4net.ILog _pLog
а затем в Application_Start выполните:
void Application_Start(object sender, EventArgs e)
{
// Set logfile name and application name variables
log4net.GlobalContext.Properties["LogName"] = GetType().Assembly.GetName().Name + ".log";
log4net.GlobalContext.Properties["ApplicationName"] = GetType().Assembly.GetName().Name;
// Load log4net configuration
System.IO.FileInfo logfile = new System.IO.FileInfo(Server.MapPath("log4net.config"));
log4net.Config.XmlConfigurator.ConfigureAndWatch(logfile);
//Get the loger
_pLog = log4net.LogManager.GetLogger("Global.asax");
// Record application startup
pLog .Debug("Application startup");
}
Итак, последовательность:
// Set logfile name and application name variables
// Load log4net configuration
// get the logger
// Record application startup