2016-03-25 20 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

関連する問題