logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Günter Albrecht (JIRA) <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-1045) WAS8: externalize log4j2.xml via URL resource
Date Tue, 09 Jun 2015 10:08:00 GMT

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

Günter Albrecht commented on LOG4J2-1045:

Reading my own comment convinced me that this is a bug and not an improvement any more - so
I changed the type to 'Bug'.

> WAS8: externalize log4j2.xml via URL resource
> ---------------------------------------------
>                 Key: LOG4J2-1045
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1045
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Configurators
>    Affects Versions: 2.3
>         Environment: WebSphere 8.0; Win7 x64
>            Reporter: Günter Albrecht
>              Labels: patch
> We're working with WebSphere 8.0 and our operations team has demanded to externalize
the log4j2.xml file per application.
> So I defined a URL resource on WAS8 containing the path to the log4j2.xml somewhere on
the filesystem.
> At first glance the solution seems very simple:
> I defined the property log4j.configurationFactory in the log4j2.component.properties
file (log4j.configurationFactory=de.company.MyConfigurationFactory) available via classpath
of the application.
> In this class I specialized the method 'public Configuration getConfiguration(String
name, URI configLocation, ClassLoader loader)'. There I make a lookup to the URL resource.
> But it does'nt function as of a missing implementation in the class ConfigurationFactory$Factory
and the method 'public Configuration getConfiguration(final String name, final URI configLocation)'.
When one enters the method the variable configLocation is null. Then the property 'log4j.configurationFile'
is checked which is intentionally not set in the log4j2.component.properties file as it must
be dynamical - via a URL resource.
> Hence also the variable config is null. Unfortunately merely 'config != null' is handled
and no else case is implemented.
> So my improvement is to implement an else case which is identical to the else case of
'if (configLocation == null) {'.
> With this solution I do not have to implement cumbersome versions for Web- and EJB-applications.

This message was sent by Atlassian 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