logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralph Goers (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-155) add getFormat to Layout
Date Sun, 03 Mar 2013 20:59:13 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13591865#comment-13591865

Ralph Goers commented on LOG4J2-155:

First, you will notice that the attributes on the configuration element have to be specially
handled in XMLConfiguration, JSONConfiguration and any other specific Configuration implementations.
Second, attributes on XML elements must always be Strings as processAttributes returns Map<String,
String>. So if you want to specify advertiser="XXX" then "XXX" will be a String.  However,
you could then do 

final PluginType type = getPluginManager().getPluginType(name);

where "name" has the value "XXX". From the PluginType you can get the class to created. 

OTOH, if you want to support their being multiple advertisers (does that even make sense?)
then you would want to add an <advertisers> element to the configuration and then handle
that in BaseConfiguration just as properties, appenders and loggers are now. When support
for receivers is added I would expect that would be added in the same manner.

In any case, I suspect the elementType you want to use is "advertiser".
> add getFormat to Layout
> -----------------------
>                 Key: LOG4J2-155
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-155
>             Project: Log4j 2
>          Issue Type: Improvement
>            Reporter: Scott Deboy
>         Attachments: log4j2-155-feb21-rev1.patch, log4j2-155-feb24-rev1.patch, log4j2-155-jan22-rev1.patch,
> I was looking at an old rev - getContentType is now exposed - thanks!
> Now if we could add a 'getFormat':
> It would be useful to expose information about a Layout's format.
> If the content type is text/plain, exposing the layout format as a conversion pattern
would work fine.
> If the content type is text/html or text/xml we could expose something else (or null).
> My primary interest is adding the ability to 'discover' the file-based logging configurations
in order to support them via Chainsaw and multicast DNS.
> If all Layouts supporting text/plain content types exposed their format as a conversion
pattern, and the file-based appenders (optionally) provided the ability to advertise their
configuration, the files could be remotely tailed without the far endpoint even knowing anything
about the file configuration.
> For an example, see how multicast appenders are exposed via zeroconf/multicast dns in
log4j 1.x in activateOptions - something very similar could be done with contenttype and format
properties in a fileappender with a layout.
>     if (advertiseViaMulticastDNS) {
>         Map properties = new HashMap();
>         properties.put("multicastAddress", remoteHost);
>         zeroConf = new ZeroConfSupport(ZONE, port, getName(), properties);
>         zeroConf.advertise();
>     }

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org

View raw message