[ https://issues.apache.org/jira/browse/LOG4J2-1045?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Günter Albrecht updated LOG4J2-1045: ------------------------------------ Attachment: ConfigurationFactoryLOG4J2-1045.patch Patch of {{method public Configuration getConfiguration(final String name, final URI configLocation)}} in {{ConfigurationFactory$Factory}}. > 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 > Attachments: ConfigurationFactoryLOG4J2-1045.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 (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