[ https://issues.apache.org/jira/browse/LOG4J2-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14094934#comment-14094934 ]
Matt Sicker edited comment on LOG4J2-747 at 8/13/14 12:28 AM: -------------------------------------------------------------- Pretty sure you have to put log4j2.xml inside {{/WEB-INF/classes/log4j2.xml}} or similar. The WEB-INF directory is special like that in that it's supposed to be somewhat hidden. Edit: never mind, we're using {{ServletContext.getResourcePaths}} and such which should allow for this use case. Looking at the code, the file name is deduced from a few different methods. If you have a file named {{/WEB-INF/log4j2*}} (just has to start with log4j2), and that's the only one, then it will get picked up automatically without setting a location. I did notice, however, that there's a bug when there's more than one file name that matches log4j2 that I'll fix in the trunk. If you have more than one possible resource (including file or directory names) in WEB-INF that start with log4j2, then that might be part of the problem here. was (Author: jvz): Pretty sure you have to put log4j2.xml inside {{/WEB-INF/classes/log4j2.xml}} or similar. The WEB-INF directory is special like that in that it's supposed to be somewhat hidden. > Servlet Example of using different log4j2-{env:envValue}.xml > ------------------------------------------------------------ > > Key: LOG4J2-747 > URL: https://issues.apache.org/jira/browse/LOG4J2-747 > Project: Log4j 2 > Issue Type: Bug > Components: Configurators > Affects Versions: 2.0-beta9 > Environment: Websphere 8.5 Windows 7 > Reporter: A B > Attachments: LOG4J2-747_Jira.war, LOG4J2747_Jira_Sample3.ear, log4j2 > location.jpg, log4j2-webapp-error.txt > > > Based on my previous post / question on the log4j2 user list - Defining > different log4j2.xml configurations based on environment - > http://apache-logging.6191.n7.nabble.com/Defining-different-log4j2-xml-configurations-based-on-environment-tp40639p40662.html > - I was attempting to create a Servlet Example of using different > log4j2-\{env:envValue\}.xml. > Based on the answers in this thread "Defining different log4j2.xml > configurations based on environment", from log4j user list I tried to test > using a different config for different environments. This is what I have done. > * I defined a Windows env variable {{websphere_environment}} and set its > value to "local" > * I specify the config location as log4j2-\{env:envValue\}.xml. My web.xml > context-param looks like below - servlet version is 3.0. > {code} > <context-param> > <param-name>log4jConfigLocation</param-name> > <param-value>/WEB-INF/config/log4j2-${env:websphere_environment}.xml > </param-value> > </context-param> > {code} > My relevant servlet method looks like below > {code} > protected void doGet(HttpServletRequest request, HttpServletResponse > response) throws > ServletException, IOException { > Logger logger = Logger.getLogger(ServletLog4j2Test.class.getName()); > logger.fatal("Loaded:); > // " + /WEB-INF/config/log4j2-${env:websphere_environment}.xml > } > {code} > I do not have the lo4j2-local.xml defined in the WEB-INF/config ( it is > defined as log4j-local.xml, not log4j2-local.xml and was expecting to get an > error but it seems that the servlet is using a default configuration, because > when I run the servlet, I get > {code} > "07/24/14 07:14:07:564:FATAL:WebContainer : 0: : > :com.test.log4j2.ServletLog4j2Test: Loaded:" > {code} > How should my web-app and config files be set-up so that I can use different > configs for different environments based on the environment? > -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org