Pastrie created LOG4J2-1721:
-------------------------------

             Summary: Composite configuration using log4jConfiguration context 
parameter
                 Key: LOG4J2-1721
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1721
             Project: Log4j 2
          Issue Type: Improvement
          Components: Configurators, Web/Servlet
    Affects Versions: 2.7
            Reporter: Pastrie


Log4j allows multiple configuration files to be used by specifying them as a 
list of comma separated file paths on log4j.configurationFile property. This 
feature is not available in web environment since the  log4jConfiguration 
context parameter accepts a Path/File/URI.

My proposal is to apply some small changes in the Log4jWebInitializerImpl class

- change method getConfigURI to return List<URI> instead of URI.

if (configLocation != null) {
        if (configLocation.contains(",")) {
                final String[] parts = configLocation.split(",");
                final List<URI> uris = new ArrayList<>(parts.length);
                for (final String part : parts) {
                        final URL url = servletContext.getResource(part);
                        if (url != null) {
                                final URI uri = url.toURI();
                                LOGGER.debug("getConfigURI found resource [{}] 
in servletContext at [{}]", uri, configLocation);
                                uris.add(url);
                        }
                }
        }


- change method initializeNonJndi 

         [...]
        final List<URI> listUri = getConfigURI(location);
        this.loggerContext = Configurator.initialize(this.name, 
this.getClassLoader(), listUri, this.servletContext);
    }





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to