Может кто-нибудь сказать мне, что не так с моей конфигурации / реализации log4net? - PullRequest
1 голос
/ 07 декабря 2011

никогда раньше не использовал log4net, но я могу в итоге пнуть себя за это ... если я смогу заставить его работать.

В моем app.config есть следующее:

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

...

<log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="c:\FRLogs\log.txt" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value="yyyyMMdd" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingLogFileAppender"/>
    </root>
</log4net>

В моем коде у меня есть:

protected static readonly ILog Log = LogManager.GetLogger(typeof(FileRouter));

, а затем несколько звонков, таких как:

Log.Debug(string.Format("Processing Route {0} for server {1}, source connection {2} ({3})",
            route.RouteID, server.ServerID,
            route.SourceConnection.ConnectionID,
            route.Description));

Из того, что я прочитал, я должен получить хороший файл журнала в c:\FRLogs\log.txt со всеми видами классной отладочной информации, но файл не создается, и я не знаю, что не так. Мой сервис может записывать в каталог, поэтому он не кажется мне разрешением.

1 Ответ

4 голосов
/ 07 декабря 2011

Вы все сделали правильно, кроме инициализации регистратора. Вы можете сделать это несколькими способами, которые полезны здесь:

Инициализация log4net

Мы программно инициализируем это лично, и у SO тоже есть отличный пост по этому поводу:

Как программно настроить log4net с нуля (без настроек)

...