Получение XML-файла конфигурации log4net для чтения в веб-формах ASP.NET - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь заставить log4net работать в «классическом» приложении веб-форм, используя XML-файл конфигурации log4net, который, как я знаю, является правильным, поскольку он является копией файла, который я успешно использую с рядом других приложений.У меня есть файл config.log4net в главной папке сайта (C:\inetpub\wwwroot\), и я настраиваю log4net в Global.asax.cs следующим образом:

protected void Application_Start(Object sender, EventArgs e)
{
    var log = LogManager.GetLogger("SomeWebsite");
    XmlConfigurator.Configure(new FileInfo("config.log4net"));

    // bind log to the DI container
    ...
}

Всякий раз, когда я тогда использую экземпляр log (даже в пределахApplication_Start) ничего не происходит, даже ошибка.Я знаю, что если config.log4net неправильно настроен, log4net молча завершится сбоем, но я уверен, что это не проблема.У меня такое ощущение, что это связано с неправильным базовым путем FileInfo.

Каков наилучший способ настройки log4net в этой ситуации?

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Попробуйте использовать Server.MapPath, если вы собираетесь получить файл таким образом:

var fi = new FileInfo(Server.MapPath("~/log4net.config"));
1 голос
/ 08 марта 2011

Добавьте свою конфигурацию Log4Net в файл web.config следующим образом:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>

<log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="C:\\TestProj\\TestLog.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="10" />
        <maximumFileSize value="10MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingLogFileAppender" />
    </root>
</log4net>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...