Файл журнала log4net пуст в производстве, а не в разработке - PullRequest
2 голосов
/ 13 сентября 2011

Для службы Windows, написанной на C # 4, у меня настроена log4net и она отлично работает в разработке. Но не в производстве.

Вот мой конфиг:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

    <log4net>
        <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="Logs/Log.xml"/>
            <appendToFile value="true"/>
            <rollingStyle value="Size"/>
            <maxSizeRollBackups value="10"/>
            <maximumFileSize value="100MB"/>
            <layout type="log4net.Layout.XmlLayout">
                <param name="Prefix" value=""/>
            </layout>
        </appender>

        <root>
            <level value="ALL"/>
            <appender-ref ref="FileAppender"/>
        </root>
    </log4net>
</configuration>

В моем AssemblyInfo.cs есть:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

Когда я запускаю приложение локально, материал записывается в журнал, как и ожидалось. Когда я запускаю его на сервере, файл журнала создается по правильному пути , но он остается пустым. Ни один символ не записывается в журнал.

Очевидно, что моя конфигурация подбирается, поскольку файл находится в правильном месте с соответствующим расширением.

Ответы [ 3 ]

1 голос
/ 13 июля 2012

В качестве обходного пути я удалил строку [assembly: log4net.Config.XmlConfigurator(Watch = true)] из сборки и просто сделал это в коде при запуске приложения.

0 голосов
/ 23 сентября 2014

У меня была та же проблема, и я исправил ее, [Assembly: log4net.Config.XmlConfigurator (Watch = true)] был в файле ninjectwebcommon вместо информации о сборке.После того, как я переместил это в assemblyinfo, оно начинает работать

0 голосов
/ 14 сентября 2011

Это глупый вопрос ... но вы уверены, что ваш сервис запущен правильно и работает?

Я бы добавил консольный и, возможно, и событийный приложения, и попробовал бы запустить ваш сервис как консольное приложение, если возможно, чтобы посмотреть?

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

...