logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Deboy (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (LOG4J2-155) add getFormat to Layout
Date Fri, 18 Jan 2013 02:20:12 GMT

     [ https://issues.apache.org/jira/browse/LOG4J2-155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Scott Deboy updated LOG4J2-155:
-------------------------------

    Description: 
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();
    }


  was:
The different Layout implementations don't expose the contentType previously available in
log4j.  HTMLLayout has a 'dead' contentType field, but that's it.

It would be useful to expose the content type (text/plain, text/html, text/xml) along with
a information about the 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();
    }


    
> 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
>
> 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


Mime
View raw message