log4net не входит со смесью .net 1.1 и .net 3.5 - PullRequest
1 голос
/ 17 марта 2010

У меня есть сервер 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

1 Ответ

1 голос
/ 17 марта 2010

Если это работает в средах разработки и промежуточного уровня, я бы начал с подозрений на разрешения. Посмотрите, может ли ваше приложение 3.5 записывать в файл в том же месте, что и выход log4net.

...