You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Anton Tagunov <at...@mail.cnt.ru> on 2003/06/13 09:55:41 UTC
[RT] Minimizing stack traces on startup. Iteration II
Hi, All!
The idea to have a list of exceptions for which
we do not need a stack trace looks quite reasonable
to me.
In fact the list could be something like
ConfigurationException
ServiceException
ContextException
How, this functionality - legging or not logging
the stack traces can be located in one of the 3 places:
1) in user code
for instance
a)
try{ cm = new ContainerManager( config ); cm.initialize() }
catch( ConfigurationException ce ){ log only getMessage(); }
catch( ServiceException se ){ log only getMessage(); }
catch( ContextException ce ){ log only getMessage(); }
catch( Throwable t ){ log the full stack trace }
b)
class CustomLogFormatter implements xxxFailureHandler
{
...handlexxx...( Throwable t )
{
if ( t instanceof ConfigurationException ||
t instanceof ServiceException ||
t instanceof CotnextException )
{
log only getMessage()
}
else
{
log the full stack trace
}
}
}
fortressConfig.setXxxxFailureHandler( new CustomLogFormatter() );
2) in LoggerManager
lm = new StackTraceSupressingLoggerManagerDecorator(
new LogKitLoggerManager(...),
new Class[]{
ConfigurationException.class,
ServiceException.class,
ContextException.class
} );
fortressConfig.setLoggerManager( lm );
and this decorator would wrap any Logger returned
from the wrapped LoggerManager with a
StackTraseSuppressingLogger( Logger, Class[] )
that would do the filtering
3) in logging backend
imagine we create a new LogKit formatter with
the following configuration
<formatter>
..%{message}...
<no-stack>
ConfigurationException
ServiceException
ContextException
</no-stack>
------------------
So, where should we put it?
3) looks the nicest to me, but then what to do
about Log4J logging backend?
- Anton
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org