writer.Write("<ClassName>" + loggingEvent.LocationInformation.ClassName + "/ClassName>");
-----Original Message-----
From: Jon Finley [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 15, 2005 4:13 PM
To: 'Log4NET User'
Subject: LayoutSkeleton HelpHi,
I have a very simple Layout based on LayoutSkeleton that generates XML using the LoggingEvent values. However; the exception text always prints at the end of the XML. Is there a way to turn this off?
My Format routine is as follows:
public override void Format(TextWriter writer, LoggingEvent loggingEvent)
{
writer.Write("<GSIEventLog>");
writer.Write("<Domain>" + loggingEvent.Domain + "</Domain>");
writer.Write("<ClassName>" + loggingEvent.LocationInformation.ClassName + "/ClassName>");
writer.Write("<RenderedMessage>" + loggingEvent.RenderedMessage + "</message>");
writer.Write("<HostName>" + loggingEvent.LookupProperty("log4net:HostName").ToString() + "</HostName>");
writer.Write("<Identity>" + loggingEvent.UserName + "</Identity>");
writer.Write("<LoggerName>" + loggingEvent.LoggerName + "</LoggerName>");
writer.Write("<ThreadName>" + loggingEvent.ThreadName + "</ThreadName>");
writer.Write("<TimeStamp>" + loggingEvent.TimeStamp + "</TimeStamp>");
writer.Write("<EventId>" + loggingEvent.LookupProperty("EventId").ToString() + "</EventId>");
writer.Write("<Message2>" + loggingEvent.LookupProperty("Message").ToString() + "</Message2>");
writer.Write("<AppUser>" + loggingEvent.LookupProperty("AppUser").ToString() + "</AppUser>");
writer.Write("<SourceId>" + loggingEvent.LookupProperty("SourceId").ToString() + "</SourceId>");
writer.Write("<ExMessage>" + loggingEvent.ExceptionObject.Message + "</ExMessage>");
writer.Write("<ExStackTrace>" + loggingEvent.ExceptionObject.StackTrace + "</ExStackTrace>");
writer.Write("</GSIEventLog>");
writer.WriteLine();
}
The output is:
<GSIEventLog><Domain>Test1.exe</Domain><ClassName>Test1.Form1/ClassName><RenderedMessage>message</message><HostName>jon-lt</HostName><Identity>GSI\jfinley</Identity><LoggerName>Test1.Form1</LoggerName><ThreadName>2516</ThreadName><TimeStamp>9/15/2005 3:00:04 PM</TimeStamp><EventId>1111</EventId><Message2>message</Message2><AppUser>jfinley-AppUser</AppUser><SourceId></SourceId><ExMessage>Object reference not set to an instance of an object.</ExMessage><ExStackTrace> at Test1.Form1.btnLog4NetTest_Click(Object sender, EventArgs e) in C:\Development_NET\Test\Test1\Form1.vb:line 236</ExStackTrace></GSIEventLog>
System.NullReferenceException: Object reference not set to an instance of an object.
at Test1.Form1.btnLog4NetTest_Click(Object sender, EventArgs e) in C:\Development_NET\Test\Test1\Form1.vb:line 236
I would like the output to be:
<GSIEventLog><Domain>Test1.exe</Domain><ClassName>Test1.Form1/ClassName><RenderedMessage>message</message><HostName>jon-lt</HostName><Identity>GSI\jfinley</Identity><LoggerName>Test1.Form1</LoggerName><ThreadName>2516</ThreadName><TimeStamp>9/15/2005 3:00:04 PM</TimeStamp><EventId>1111</EventId><Message2>message</Message2><AppUser>jfinley-AppUser</AppUser><SourceId></SourceId><ExMessage>Object reference not set to an instance of an object.</ExMessage><ExStackTrace> at Test1.Form1.btnLog4NetTest_Click(Object sender, EventArgs e) in C:\Development_NET\Test\Test1\Form1.vb:line 236</ExStackTrace></GSIEventLog>Thank you,
Jon
