Achieving color magazines with Log4net

Now, Iam get error "could not find the" log4net "configuration section in the .config file application." This is my code in the log4net.config file:

 <?xml version="1.0" encoding="utf-8" ?> <log4net> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <root> <level Value="Info"/> <level Value="Error"/> <appender-ref ref="ColoredFileAppender" /> </root> <appender name="ColoredFileAppender" type="log4net.Appender.RollingFileAppender" > <file type="log4net.Util.PatternString"/> <file value="C:\CL2.html" /> <encoding value="utf-8" /> <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> <appendToFile value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%CC" /> <converter> <name value="CC" /> <type value="Cluster2.ColoredMessageConverter" /> </converter> <mapping> <level value="Info" /> <foreColor value="Green" /> </mapping> <mapping> <level value="ERROR" /> <backColor value="Red, HighIntensity" /> </mapping> </layout> </appender> </configuration> </log4net> 

I included this statement in the assembly:

 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] 

I included this expression in my program:

 protected void Application_start(Object Sender, EventArgs e) { log4net.Config.XmlConfigurator.Configure(); } 

I have no idea what the problem is. Please, help.

+4
source share
1 answer

To achieve this, you need to use your own template, and then include it in the log4net.config file. Your code will look like this:

 public class ColoredMessageConverter : PatternLayoutConverter { protected override void Convert(TextWriter writer, LoggingEvent loggingEvent) { string color = ""; switch (loggingEvent.Level.Name) { case "DEBUG": color = "green"; break; case "WARN": case "INFO": color = "white"; break; case "ERROR": color = "pink"; break; case "FATAL": color = "red"; break; } string logToRender = string.Format(" <p style='color:{0}'>{1}</p>", color, loggingEvent.RenderedMessage); //Add logToRender to file writer.Write(logToRender); } } 

In your log4net.config, connect this converter as shown below. Replace "Your namespace" with the correct one.

 <log4net> <root> <level value="DEBUG" /> <appender-ref ref="ColoredFileAppender" /> </root> <appender name="ColoredFileAppender" type="log4net.Appender.RollingFileAppender" > <file type="log4net.Util.PatternString" value="c:\test.html" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%CC" /> <converter> <name value="CC" /> <type value="<<Your namespace>>.ColoredMessageConverter" /> </converter> </layout> </appender> 

+5
source

All Articles