Log4net не записывает файл журнала

Я создал простой сценарий, используя Log4net, но кажется, что мои добавщики не работают, потому что сообщения не добавляются в файл журнала.

Я добавил следующее к файлу web.config:

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

<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
            <file value="D:\MyData\Desktop\LogFile.txt" />
            <appendToFile value="true" />
            <encoding value="utf-8" />
            <layout type="log4net.Layout.SimpleLayout" />
    </appender>


    <root>
        <level value="INFO" />
        <appender-ref ref="LogFileAppender" />
    </root>
</log4net>

В глобальный файл ASAX я добавил:

ILog logger = LogManager.GetLogger(typeof(MvcApplication));

и в методе Application_Start:

logger.Info("Starting the application...");

Что я сделал не так?

152
задан Donald Duck 27 November 2017 в 22:32
поделиться

2 ответа

Вы звоните

log4net.Config.XmlConfigurator.Configure();

где-нибудь, чтобы log4net прочитал вашу конфигурацию? Например. в Global.asax:

void Application_Start(object sender, EventArgs e) 
{
    // Code that runs on application startup

    // Initialize log4net.
    log4net.Config.XmlConfigurator.Configure();
}
307
ответ дан 23 November 2019 в 22:07
поделиться

Убедитесь, что процесс (учетная запись), под которым работает сайт, имеет права на запись в выходной каталог.

В IIS 7 и более поздних версиях это настраивается в пуле приложений и обычно представляет собой Идентификатор AppPool, который обычно не имеет разрешения на запись во все каталоги.

Проверьте свои журналы событий (приложений и безопасности), чтобы узнать, были ли выброшены какие-либо исключения.

23
ответ дан 23 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: