You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by Mark R Durman/CA/US/MQSolutions <md...@mqsolutions.com> on 2004/05/13 00:30:20 UTC
Optional Appenders
All, log4j 1.2 had (what I think) was incorrect support for optional
layouts. If the layout was marked as optional it wasn't called even if it
was supplied. That's not optional, it's either layout or no layout. My
view is that if the layout is marked as optional, the appender should
check if it was set. If yes, go ahead and call it, if no, skip the call
and don't issue messages saying it's not there.
If everyone else is OK with that approach, which I don't see as breaking
the operation of existing log4j implementations, I'd like to submit a
patch to the 1.3 code.
Mark Durman
MQ Solutions
Re: Optional Appenders
Posted by Ceki Gülcü <ce...@qos.ch>.
Hello,
The intended behavior is explained in the docs for Appender.requiresLayout()
/**
* Configurators call this method to determine if the appender requires a
* layout. If this method returns <code>true</code>, meaning that layout is
* required, then the configurator will configure an layout using the
* configuration information at its disposal. If this method returns
* <code>false</code>, meaning that a layout is not required, then layout
* configuration will be skipped even if there is available layout
* configuration information at the disposal of the configurator..
*
* <p>
* In the rather exceptional case, where the appender implementation admits
* a layout but can also work without it, then the appender should return
* <code>true</code>.
* </p>
*
* @since 0.8.4
*/
public boolean requiresLayout();
The current implementations of DOMConfigurator (marked for /dev/null) and
JoranConfigurator do not call this method at all. Layout are generically
configured as just as any other sub-component of a log4j component.
PropertyConfigurator makes use of an appender's requiresLayout method as
described in the javadocs quoted above.
Does the above address your concern? (My impression is that the current
behavior is quite correct although I may have missed your point almost
entirely.)
At 12:30 AM 5/13/2004, Mark R Durman/CA/US/MQSolutions wrote:
>All, log4j 1.2 had (what I think) was incorrect support for optional
>layouts. If the layout was marked as optional it wasn't called even if it
>was supplied. That's not optional, it's either layout or no layout. My
>view is that if the layout is marked as optional, the appender should
>check if it was set. If yes, go ahead and call it, if no, skip the call
>and don't issue messages saying it's not there.
>
>If everyone else is OK with that approach, which I don't see as breaking
>the operation of existing log4j implementations, I'd like to submit a
>patch to the 1.3 code.
>
>Mark Durman
>MQ Solutions
--
Ceki Gülcü
For log4j documentation consider "The complete log4j manual"
ISBN: 2970036908 http://www.qos.ch/shop/products/clm_t.jsp
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org