2016-06-07 3 views
0

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

в app.config У меня есть

<log4net> 
    <root> 
     <priority value="ALL" /> 
     <appender-ref ref="ConsoleOutAppender" /> 
     <appender-ref ref="PortalLoggerAppender" /> 
     <appender-ref ref="ApplicationLoggerAppender" /> 
    </root> 

    <appender name="ConsoleOutAppender" type="log4net.Appender.ColoredConsoleAppender"> 
<filter type="log4net.Filter.LoggerMatchFilter"> 
     <loggerToMatch value="ApplicationLogger" /> 
     </filter> 
     <mapping> 
     <level value="ERROR" /> 
     <foreColor value="Red, HighIntensity" /> 
     </mapping> 
     <mapping> 
     <level value="WARN" /> 
     <foreColor value="Yellow, HighIntensity" /> 
     </mapping> 
     <mapping> 
     <level value="INFO" /> 
     <foreColor value="Cyan" /> 
     </mapping> 
     <mapping> 
     <level value="DEBUG" /> 
     <foreColor value="Green" /> 
     </mapping> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{dd/MM HH:mm:ss} [%level] %newline%message%newline" /> 
     </layout> 
    </appender> 

    <appender name="PortalLoggerAppender" type="log4net.Appender.RollingFileAppender"> 
     <file type="log4net.Util.PatternString" value="Results/PortalLog_%property{DateTime}_app.log" /> 
     <filter type="log4net.Filter.LoggerMatchFilter"> 
     <loggerToMatch value="PortalLogger" /> 
     </filter> 
     <encoding value="utf-8" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Composite" /> 
     <maxSizeRollBackups value="-1" /> 
     <maximumFileSize value="20MB" /> 
     <countDirection value="1" /> 
     <datePattern value="yyyyMMdd" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{dd/MM HH:mm:ss} [%level] %newline%message%newline" /> 
     </layout> 
    </appender> 

    <appender name="ApplicationLoggerAppender" type="log4net.Appender.RollingFileAppender"> 
     <file type="log4net.Util.PatternString" value="Results/ApplicationLog_%property{DateTime}_app.log" /> 
     <filter type="log4net.Filter.LoggerMatchFilter"> 
     <loggerToMatch value="ApplicationLogger" /> 
     </filter> 
     <encoding value="utf-8" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Composite" /> 
     <maxSizeRollBackups value="-1" /> 
     <maximumFileSize value="20MB" /> 
     <countDirection value="1" /> 
     <datePattern value="yyyyMMdd" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{dd/MM HH:mm:ss} [%level] %newline%message%newline" /> 
     </layout> 
    </appender> 

    <logger name="PortalLogger" additivity="false"> 
     <level value="ALL"/> 
     <appender-ref ref="PortalLoggerAppender"/> 
    </logger> 

    <logger name="ApplicationLogger" additivity="false"> 
     <level value="ALL"/> 
     <appender-ref ref="ApplicationLoggerAppender"/> 
    </logger> 


    </log4net> 

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

+0

Можете ли вы показать, как регистратор инициализируется в коде? –

ответ

0

Хорошо я получил его, я просто добавил консоли Appender прикладного регистратору :)

<logger name="ApplicationLogger" additivity="false"> 
     <level value="ALL"/> 
     <appender-ref ref="ApplicationLoggerAppender"/> 
     <appender-ref ref="ConsoleOutAppender"/> 
    </logger> 
1

Вы специально установленную additivity в false, что as per the docs означает, что найден

в appenders в предках этого регистратора не используются

означает, что сконфигурированные в ваш root в верхней части игнорируются. Либо удалите additivity, либо установите его на true (его по умолчанию) или добавьте консольный appender явным образом в этот регистратор тоже.

Смежные вопросы