log4net:不同类型的不同信息颜色

log4net: different info colors for different types

我有 log4net,我想在同一程序集中为不同类型(两种特殊类型)设置不同的信息颜色。可能吗?如果可以我应该怎么做?

提前致谢。

更新:Appender 应该是 ColoredConsoleAppender。

我想这就是你要找的

<log4net>
    <appender name="Common" type="log4net.Appender.ColoredConsoleAppender">
        <filter type="log4net.Filter.LoggerMatchFilter">  
            <loggerToMatch value="Custom1" />  
            <acceptOnMatch value="false" />  
        </filter>
        <filter type="log4net.Filter.LoggerMatchFilter">  
            <loggerToMatch value="Custom2" />  
            <acceptOnMatch value="false" />  
        </filter>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
    </appender>
    <appender name="Custom1" type="log4net.Appender.ColoredConsoleAppender">
        <mapping>
            <level value="INFO" />
            <backColor value="Blue" />
        </mapping>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
    </appender>
    <appender name="Custom2" type="log4net.Appender.ColoredConsoleAppender">
        <mapping>
            <level value="INFO" />
            <backColor value="Light Blue" />
        </mapping>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
    </appender>

    <root>
        <level value="INFO" />
        <appender-ref ref="Common"/>
    </root>
    <logger name="Namespace.Foo">
        <level value="INFO" />
        <appender-ref ref="Custom1" />
    </logger>
    <logger name="Namespace.Bar">
        <level value="INFO" />
        <appender-ref ref="Custom2" />
    </logger>
</log4net>

我在这里制作了两个附加程序,它们为 DEBUG 级别提供了不同的颜色。 在底部,我让 ColoredConsoleAppenderOne 仅对类型 Com.Foo 有效,而 ColoredConsoleAppenderTwo 仅对类型 Com.Bar

有效