Return-Path: Delivered-To: apmail-logging-log4net-user-archive@www.apache.org Received: (qmail 5910 invoked from network); 15 Sep 2005 20:12:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 15 Sep 2005 20:12:46 -0000 Received: (qmail 46572 invoked by uid 500); 15 Sep 2005 20:12:44 -0000 Delivered-To: apmail-logging-log4net-user-archive@logging.apache.org Received: (qmail 46552 invoked by uid 500); 15 Sep 2005 20:12:44 -0000 Mailing-List: contact log4net-user-help@logging.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Log4NET User" List-Id: Delivered-To: mailing list log4net-user@logging.apache.org Received: (qmail 46539 invoked by uid 99); 15 Sep 2005 20:12:44 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Sep 2005 13:12:44 -0700 X-ASF-Spam-Status: No, hits=1.1 required=10.0 tests=HTML_50_60,HTML_MESSAGE,HTML_TITLE_EMPTY,SPF_HELO_SOFTFAIL,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of jdf@gksys.com designates 206.40.48.153 as permitted sender) Received: from [206.40.48.153] (HELO mail3.intermedia.net) (206.40.48.153) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Sep 2005 13:12:54 -0700 Received: from jonlt (unverified [216.160.42.169]) by mail3.intermedia.net (Rockliffe SMTPRA 4.5.6) with ESMTP id for ; Thu, 15 Sep 2005 13:12:43 -0700 Message-ID: Reply-To: From: "Jon Finley" To: "'Log4NET User'" Subject: LayoutSkeleton Help Date: Thu, 15 Sep 2005 15:12:37 -0500 Organization: GateKeeper Systems, Inc. MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0036_01C5BA07.E924AF00" X-Mailer: Microsoft Office Outlook, Build 11.0.6353 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 Thread-Index: AcW6MdFPLM1E/4tfTr2HuoYukEHrxg== X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. ------=_NextPart_000_0036_01C5BA07.E924AF00 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, 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(""); writer.Write("" + loggingEvent.Domain + ""); writer.Write("" + loggingEvent.LocationInformation.ClassName + "/ClassName>"); writer.Write("" + loggingEvent.RenderedMessage + ""); writer.Write("" + loggingEvent.LookupProperty("log4net:HostName").ToString() + ""); writer.Write("" + loggingEvent.UserName + ""); writer.Write("" + loggingEvent.LoggerName + ""); writer.Write("" + loggingEvent.ThreadName + ""); writer.Write("" + loggingEvent.TimeStamp + ""); writer.Write("" + loggingEvent.LookupProperty("EventId").ToString() + ""); writer.Write("" + loggingEvent.LookupProperty("Message").ToString() + ""); writer.Write("" + loggingEvent.LookupProperty("AppUser").ToString() + ""); writer.Write("" + loggingEvent.LookupProperty("SourceId").ToString() + ""); writer.Write("" + loggingEvent.ExceptionObject.Message + ""); writer.Write("" + loggingEvent.ExceptionObject.StackTrace + ""); writer.Write(""); writer.WriteLine(); } The output is: Test1.exeTest1.Form1/ClassName>messagejon-ltGSI\jfinl eyTest1.Form125169/15/2005 3:00:04 PM1111messagejf inley-AppUserObject 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 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: Test1.exeTest1.Form1/ClassName>messagejon-ltGSI\jfinl eyTest1.Form125169/15/2005 3:00:04 PM1111messagejf inley-AppUserObject 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 Thank you, Jon ------=_NextPart_000_0036_01C5BA07.E924AF00 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

I have a very simple Layout = based on=20 LayoutSkeleton that generates XML using the LoggingEvent values.  = However;=20 the exception text always prints at the end of the XML.  Is there a = way to=20 turn this off?

My Format routine is as=20 follows:

       =20         public override void=20 Format(TextWriter writer, LoggingEvent=20 loggingEvent)
       =20        =20 {
       =20        =20        =20 writer.Write("<GSIEventLog>");
     &nb= sp; =20         writer.Write("<Domain>" = +=20 loggingEvent.Domain +=20 "</Domain>");
       =20            =20 writer.Write("<ClassName>" + = loggingEvent.LocationInformation.ClassName +=20 "/ClassName>");
       =20        =20 writer.Write("<RenderedMessage>" + loggingEvent.RenderedMessage +=20 "</message>");
       =20        =20         = writer.Write("<HostName>" +=20 loggingEvent.LookupProperty("log4net:HostName").ToString()  +=20 "</HostName>");
       =20        =20         = writer.Write("<Identity>" +=20 loggingEvent.UserName +=20 "</Identity>");
       =20        =20         = writer.Write("<LoggerName>" +=20 loggingEvent.LoggerName +=20 "</LoggerName>");
       =20        =20         = writer.Write("<ThreadName>" +=20 loggingEvent.ThreadName +=20 "</ThreadName>");
       =20        =20         = writer.Write("<TimeStamp>" +=20 loggingEvent.TimeStamp +=20 "</TimeStamp>");
       =20        =20         = writer.Write("<EventId>" +=20 loggingEvent.LookupProperty("EventId").ToString() +=20 "</EventId>");
       =20        =20         = writer.Write("<Message2>" +=20 loggingEvent.LookupProperty("Message").ToString() +=20 "</Message2>");
       =20        =20         = writer.Write("<AppUser>" +=20 loggingEvent.LookupProperty("AppUser").ToString() +=20 "</AppUser>");
       =20        =20         = writer.Write("<SourceId>" +=20 loggingEvent.LookupProperty("SourceId").ToString() +=20 "</SourceId>");
       =20         = writer.Write("<ExMessage>" +=20 loggingEvent.ExceptionObject.Message +=20 "</ExMessage>");
       =20            =20 writer.Write("<ExStackTrace>" + = loggingEvent.ExceptionObject.StackTrace +=20 "</ExStackTrace>");
       =20        =20        =20 writer.Write("</GSIEventLog>");

    &nbs= p;  =20        =20        =20 writer.WriteLine();
       =20         }


The output=20 is:
<GSIEventLog><Domain>Test1.exe</Domain><Class= Name>Test1.Form1/ClassName><RenderedMessage>message</messa= ge><HostName>jon-lt</HostName><Identity>GSI\jfinley&= lt;/Identity><LoggerName>Test1.Form1</LoggerName><Threa= dName>2516</ThreadName><TimeStamp>9/15/2005=20 3:00:04=20 PM</TimeStamp><EventId>1111</EventId><Message2>me= ssage</Message2><AppUser>jfinley-AppUser</AppUser><S= ourceId></SourceId><ExMessage>Object=20 reference not set to an instance of an=20 object.</ExMessage><ExStackTrace>   at=20 Test1.Form1.btnLog4NetTest_Click(Object sender, EventArgs e) in=20 C:\Development_NET\Test\Test1\Form1.vb:line=20 236</ExStackTrace></GSIEventLog>
System.NullReferenceException: Object = reference not=20 set to an instance of an object.
   at=20 Test1.Form1.btnLog4NetTest_Click(Object sender, EventArgs e) in=20 C:\Development_NET\Test\Test1\Form1.vb:line 236


I would = like the=20 output to=20 be:
<GSIEventLog><Domain>Test1.exe</Domain><Class= Name>Test1.Form1/ClassName><RenderedMessage>message</messa= ge><HostName>jon-lt</HostName><Identity>GSI\jfinley&= lt;/Identity><LoggerName>Test1.Form1</LoggerName><Threa= dName>2516</ThreadName><TimeStamp>9/15/2005=20 3:00:04=20 PM</TimeStamp><EventId>1111</EventId><Message2>me= ssage</Message2><AppUser>jfinley-AppUser</AppUser><S= ourceId></SourceId><ExMessage>Object=20 reference not set to an instance of an=20 object.</ExMessage><ExStackTrace>   at=20 Test1.Form1.btnLog4NetTest_Click(Object sender, EventArgs e) in=20 C:\Development_NET\Test\Test1\Form1.vb:line=20 236</ExStackTrace></GSIEventLog>

Thank you,

Jon

------=_NextPart_000_0036_01C5BA07.E924AF00--