我有log4net,我希望在同一个程序集中为不同类型(两种特殊类型)提供不同的信息颜色。可能吗?如果有可能我该怎么办?
提前致谢。
更新:Appender应该是ColoredConsoleAppender。
答案 0 :(得分:4)
我认为这就是你要找的东西
<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>
在这里,我制作了两个appender,为DEBUG
级别提供不同的颜色。
在底部,我ColoredConsoleAppenderOne
仅对Com.Foo
类型有效,而ColoredConsoleAppenderTwo
仅对类型Com.Bar
有效