logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "A B (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-747) Servlet Example of using different log4j2-{env:envValue}.xml
Date Wed, 13 Aug 2014 00:28:13 GMT

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

A B commented on LOG4J2-747:

@Matt - I have moved beyond ability to use {{WEB-INF/config/log4j_abc.xml}}.  I got that working

@Remko - I will try the XInclude way tomorrow morning, but if it is possible, I would like
to get the environment $\{env:somevar\} or system property $\{sys:somevar\} work in the path
to the configuration.   Reason being that it seems to be more obvious for someone else looking
at the project, when it is in web.xml


> 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,
> 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:
> {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

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

View raw message