2016-03-25 44 views
0

我正在嘗試配置log4net以使用以下設置將彩色文本記錄到控制檯。log4net coloredConsoleAppender沒有顯示任何顏色

<log4net> 
    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender"> 
    <mapping> 
     <level value="ERROR" /> 
     <foreColor value="Red" /> 
     <backColor value="Green" /> 
    </mapping> 
    <mapping> 
     <level value="DEBUG" /> 
     <foreColor value="White" /> 
     <backColor value="Green" /> 
    </mapping> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date %-5level [%thread] %logger [%property{NDC}] - %message%newline" /> 
    </layout> 
    </appender> 

    <!-- Set root logger level to DEBUG and its only appender to ColoredConsoleAppender --> 
    <root> 
    <level value="DEBUG" /> 
    <appender-ref ref="ColoredConsoleAppender" /> 
    </root> 
</log4net> 

但是,錯誤日誌不會以紅色出現。什麼可能是這個問題?

回答

0

你必須添加映射(他們似乎沒有默認設置的類型)。

var console = new ColoredConsoleAppender 
{ 
    Layout = patternLayout 
}; 
console.AddMapping(new ColoredConsoleAppender.LevelColors() 
{ 
    BackColor = ColoredConsoleAppender.Colors.Yellow, 
    ForeColor = ColoredConsoleAppender.Colors.Red, 
    Level = Level.Info 
}); 
console.ActivateOptions(); 
hierarchy.Root.AddAppender(console); 

如果你是更多的是配置/ XML的那種人的:

<mapping> 
    <level value="ERROR" /> 
    <foreColor value="White" /> 
    <backColor value="Red, HighIntensity" /> 
</mapping> 
<mapping> 
    <level value="DEBUG" /> 
    <backColor value="Green" /> 
</mapping> 

Source

相關問題