c# - log4net:不同类型的不同信息颜色

标签 c# .net logging log4net

我有 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< 有效

关于c# - log4net:不同类型的不同信息颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29173442/

相关文章:

c# - 如何使用 C# 和正则表达式解析字符串?

c# - ETW 消耗过去的事件

c# - 设置列表框的默认值

c# - 十进制可空值和十进制值的总和

C#:字符串 -> MD5 -> 十六进制

java - ASPxGridView java 的替代品?

.net - 将 PowerBuilder 数据窗口显示为 PDF 的网页

c# - 在 .Net 4.5 中使用 async/await 编写多线程方法

python - 防止 main 中的回溯

java - 使用 log4j 将 json 对象写入文件