logging-log4net-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ron Grabowski <rongrabow...@yahoo.com>
Subject Re: Customize the exception output
Date Thu, 22 Jun 2006 01:44:29 GMT
My initial thought was this:

<layout type="log4net.Layout.PatternLayout">
<![CDATA[
%counter) Exception Information

*********************************************

Exception Type: %exception{type}

Message: %exception{message}

Data: ???

TargetSite: NULL

HelpLink: NULL

Source: NULL
]]>
</layout>

I don't think the current exception pattern implementation accepts
additional parameters.

I remember seeing a counter pattern somewhere but I can't seem to find
it now.

What should go in the "Data:" part of your example?

Does EntLib really show this text "Void ExecuteScripts(System.String,
System.String[], Boolean, Boolean)" or does it just show
"ExecuteScripts"? 

I would create an ExtendedPatternLayout that registers additional
converters and have your appenders use that. 

Create a JIRA issue if you think some of these patterns should be part
of PatternLayout.

--- Sean Carlin <seancarlin@gmail.com> wrote:

>  Hi,
> 
> I've had a request from the developers at my company to modify the
> way in
> which log4net outputs exceptions to the log.  This would need to take
> effect
> in my EventLogAppender and AdoNetAppender.  Will I need to create my
> own
> custom class similar to ExceptionLayout or a custom class similar to
> ExceptionPatternConverter?  How can I specify this change to the
> EventLogAppender?
> 
> The request is to format the exception more like the way the .NET
> Enterprise
> Library did in .NET 1.1.:
> 
> 
> 1) Exception Information
> 
> *********************************************
> 
> Exception Type: X.WebApps.NewsRoom.WebControls.NewsSystemException
> 
> Message: Could not retrieve a list of articles from the category
> 
> Data: System.Collections.ListDictionaryInternal
> 
> TargetSite: NULL
> 
> HelpLink: NULL
> 
> Source: NULL
> 
> 2) Exception Information
> 
> *********************************************
> 
> Exception Type: System.Exception
> 
> Message: An error occurred while processing the required SQL script:
> D:\WebSites\X\WebAppsFolders\WebAppsCommonFiles\\scripts\core.config
> 
> Data: System.Collections.ListDictionaryInternal
> 
> TargetSite: Void ExecuteScripts(System.String, System.String[],
> Boolean,
> Boolean)
> 
> HelpLink: NULL
> 
> Source: X.WebApps.CoreLibrary.X.X
> 
> StackTrace Information
> 
> *********************************************
> 
> at X.WebApps.CoreSystem.ExecuteScripts(String path, String[] scripts,
> Boolean trapExceptions, Boolean sendAppPath)
> 
> at X.WebApps.CoreSystem.SystemInit()
> 
> at X.WebApps.CoreSystem..ctor(String application)
> 
> at
>
X.WebApps.NewsRoom.WebControls.NewsArticleDisplayer.GetNewsArticleAndCategory(Category&
> newsCategory, Article& newsArticle)
> 
> Here is a sample of what is being output by the default format:
> 
> System.Exception: Testing application error handling from the
> DevCenter/ApplicationErrorTest.aspx form. --->
> System.ArrayTypeMismatchException: Oh my gosh some sort of array
> mismatch
> occurred in this fake class! Error! Error!
> at RemoteNet.Zapenza.Utility.TestClass..ctor() in
>
C:\Solutions\CIProjects\RemoteNet\Zapenza\Working\Source\RemoteNet.Zapenza.Utility\TestClass.cs:line
> 11
> at DevCenter_ApplicationErrorTest.lnkApplicationError_Click(Object
> sender,
> EventArgs e) in
>
c:\Solutions\CIProjects\RemoteNet\Zapenza\Working\Source\RemoteNet.Zapenza.Web.UI\DevCenter\ApplicationErrorTest.aspx.cs:line
> 24
> --- End of inner exception stack trace ---
> at DevCenter_ApplicationErrorTest.lnkApplicationError_Click(Object
> sender,
> EventArgs e) in
>
c:\Solutions\CIProjects\RemoteNet\Zapenza\Working\Source\RemoteNet.Zapenza.Web.UI\DevCenter\ApplicationErrorTest.aspx.cs:line
> 28
> at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
> at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String
> eventArgument)
> at
>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
> eventArgument)
> at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
> sourceControl, String eventArgument)
> at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
> postData)
> at System.Web.UI.Page.ProcessRequestMain(Boolean
> includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
> 


Mime
View raw message