c#:Log4Net控制台应用程序无法根据日志级别创建控制台颜色并崩溃

时间:2018-03-25 10:44:49

标签: c# console-application log4net

这是我的function addFila() { var iframe = document.getElementById('myFrame'); var table = iframe.contentDocument.getElementsByClassName("head_to_head h2h_home")[0]; var row = table.insertRow(1); var fila = ["fecha", "liga", "equipolocal", "equipovisitante", "goleslocal", "golesvisitante"]; for (let i = 0; i < 6; i++) { row.insertCell(i); for (let x = 0; x <= fila.length; x++) { row.insertCell(i).innerHTML = fila[i]; } } } Log4Net

app.config

所以一切正常,除了我无法创建任何我想要的<log4net> <appender name="ConsoleAppender" type="log4net.Appender.ColoredConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [%level] [%logger/%method] → %message%newline%exception"/> </layout> <mapping> <level value="DEBUG" /> <foreColor value="Orange, HighIntensity" /> </mapping> <mapping> <level value="INFO" /> <foreColor value="Green, HighIntensity" /> </mapping> <mapping> <level value="WARN" /> <foreColor value="Yellow, HighIntensity" /> </mapping> <mapping> <level value="ERROR" /> <foreColor value="Red, HighIntensity" /> </mapping> </appender> <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> <file value="c:\logs\log.txt"/> <rollingStyle value="Date" /> <appendToFile value="true" /> <rollingStyle value="Size"/> <maximumFileSize value="10MB"/> <maxSizeRollBackups value="5"/> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="[%date] [%level] - %message%newline%exception"/> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ConsoleAppender" /> <appender-ref ref="RollingFile" /> </root> </log4net> 这一事实。

例如:

Console color

当我尝试定义此 <mapping> <level value="DEBUG" /> <foreColor value="Orange, HighIntensity" /> </mapping> (或甚至Orange)颜色时,我收到此错误:

  

log4net:错误无法创建类型的Appender [ConsoleAppender]   [log4net.Appender.ColoredConsoleAppender]。报告的错误如下。   System.ArgumentException:请求的值'Orange,HighIntensity'是   未找到。在System.Enum.EnumResult.SetFailure(ParseFailureKind   failure,String failureMessageID,Object failureMessageFormatArgument)   在System.Enum.TryParseEnum(类型enumType,String value,Boolean   ignoreCase,EnumResult&amp; parseResult)在System.Enum.Parse(Type   enumType,String value,Boolean ignoreCase)at   log4net.Util.OptionConverter.ConvertStringTo(Type target,String txt)   在   log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(类型   type,String value)at   log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(XmlElement的   元素,对象目标)at   log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(XmlElement的   element,Type defaultTargetType,Type typeConstraint)at   log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(XmlElement的   元素,对象目标)at   log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement的   appenderElement)log4net:ERROR Appender没有名为[ConsoleAppender]   找到。

但是,如果我想定义Gray,这可以正常运行,而不需要Blue

1 个答案:

答案 0 :(得分:2)

根据文档,Orange不是可以使用的有效颜色:https://logging.apache.org/log4net/log4net-1.2.12/release/sdk/log4net.Appender.ColoredConsoleAppender.html

摘录链接: Level是标准的log4net日志记录级别,ForeColor和BackColor可以是以下值的任意组合:

蓝色 - 绿色 - 红色 - 白色 - 黄色 - 紫色 - 青色 - HighIntensity