Как настроить log4net на запись в разные файлы - CodeHelper

Как настроить log4net на запись в разные файлы

1

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

Новые ответы


1

Для этого можно использовать отдельный logger. Обычно в конфигурации определен только один логгер — root:

<log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
        </layout>
    </appender>
    <!-- Это логгер -->
    <root>
        <level value="INFO" />
        <appender-ref ref="ConsoleAppender" />
    </root>
</log4net>

Именно root возвращается, когда получаем логгер по классу. Можно определить свой логгер:

<log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="INFO" />
        <appender-ref ref="ConsoleAppender" />
    </root>

    <!-- Это новый логгер -->
    <logger name="LoggerName">
        <level value="DEBUG" />
        <appender-ref ref="ConsoleAppender" />
    </logger>

</log4net>

Теперь в коде можно получить ссылку на этот логгер:

ILog x = LogManager.GetLogger("LoggerName");
Sergey

Да, работает, но пишет используя свой логгер и рутовый


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.