У меня есть сервер iis на компьютере под управлением Windows 2003, который не будет регистрироваться с использованием log4net в веб-приложении .net3.5. Log4net прекрасно работает в приложениях 1.1, использующих log4net версии 1.2.9.0, но не веб-приложение 3.5. Ведение журнала отлично работает в среде разработки и подготовки, но не в производстве. Это не ошибка, и я не получаю никаких событий, зарегистрированных в программе просмотра событий, и не знаю, где искать дальше. Я пробовал обе версии log4net (1.2.9.0 и 1.2.10.0), и обе они работают в разработке и в стадии разработки, но не в производстве.
В целях тестирования я создал только одностраничное приложение, которое просто отображает время, когда страница была нажата, а также должно войти в мой лог-файл, используя log4net.
Вот мой файл web.config:
<configSections>
<!-- LOG4NET Configuration -->
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" requirePermission="false" />
</configSections>
<log4net debug="true">
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\DIF\Logs\TestApp\TestApp_"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Date"/>
<param name="DatePattern" value="yyyyMMdd\.\l\o\g"/>
<param name="StaticLogFileName" value="false"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date{HH:mm:ss} %C::%M [%-5level] - %message%newline"/>
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
Вот моя инициализация log4net:
// Logging for the application
private static ILog mlog = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected void Application_Start(object sender, EventArgs e)
{
try
{
// Start the configuration of the Logging
XmlConfigurator.Configure();
mlog.Info("Started logging for the TestApp Application.");
}
catch (Exception ex)
{
throw;
}
}
Любая помощь будет принята с благодарностью.
Спасибо
Jim