首先是,log4net的提供它自己的顏色日誌適配器:
我們用兩個附加目的地的配置,以使輸出到兩個標準:出和std:犯錯
<log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<root>
<level value="ALL" />
<appender-ref ref="console.out" />
<appender-ref ref="console.error" />
</root>
<appender name="console.out" type="log4net.Appender.ColoredConsoleAppender">
<target value="Console.Out" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG"/><!-- "DEBUG" OR "INFO" if you want to display these -->
<levelMax value="INFO"/>
</filter>
<mapping>
<level value="INFO"/>
<foreColor value="White, HighIntensity"/>
</mapping>
<mapping>
<level value="DEBUG"/>
<foreColor value="White"/>
</mapping>
</appender>
<appender name="console.error" type="log4net.Appender.ColoredConsoleAppender">
<target value="Console.Error" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN"/>
<levelMax value="FATAL"/>
</filter>
<mapping>
<level value="FATAL"/>
<foreColor value="Yellow, HighIntensity"/>
<backColor value="Red"/>
</mapping>
<mapping>
<level value="ERROR"/>
<foreColor value="Red, HighIntensity"/>
</mapping>
<mapping>
<level value="WARN"/>
<foreColor value="Yellow, HighIntensity"/>
</mapping>
</appender>
</log4net>
如果你仍然想手工編碼輸出,使用ILog實現。它基本上爲您提供每種輸出類型的方法。要捆綁你創建一個這樣的配置部分自定義適配器...
<appender name="name" type="NameSpace.ClassOfTypeILog, AssemblyName">
...
</appender>
我覺得log4net的已經有一個coloredConsol添加器,如果我記得很清楚... – 2011-12-15 17:06:07
...,如果沒有,有你的答案:創建你自己的appender記錄你想要的地方和方式。 – Jay 2011-12-15 17:07:25