Yes, Log4j2 has an environment Lookup to access OS environment variables.

Ralph

On Sep 11, 2013, at 11:21 AM, WebServices Development wrote:

> Thank you, I shall check it out.
> 
> If instead of System variable ( using a -Dxxx on a VM ), if I want to use the 
> Environment variable, can I use env in a similar manner. I.e. is it valid to 
> say   <param-value>file://etc/myApp/mylogging-${env:region}.xml</param-value>?
> 
> 
> -----Original Message-----
> From: Ralph Goers [mailto:[email protected]]
> Sent: Wednesday, September 11, 2013 11:26 AM
> To: Log4J Users List
> Subject: Re: Defining different log4j2.xml configurations based on environment
> 
> Have you looked at http://logging.apache.org/log4j/2.x/manual/webapp.html?  
> The documentation there is missing one thing that will probably help you.  
> You can specify
> 
> <context-param>
>  <param-name>log4jConfiguration</param-name>
>  <param-value>file://etc/myApp/mylogging-${sys:region}.xml</param-value>
> </context-param>
> 
> If you then set the region system property to "prod" you would use 
> mylogging-prod.xml.
> 
> Ralph
> 
> 
> On Sep 11, 2013, at 4:21 AM, WebServices Development wrote:
> 
>> I had posted this on SO and was advised that it may be better to post this 
>> question on this list.
>> 
>> I want to try and use logj2 in my web application. With log4j 1.x, we
>> set-up different configurations files based on environment and use
>> ServletContextListener to load the appropriate configuration using a
>> call like
>> 
>> DOMConfigurator.configureAndWatch(logConfigFile, delay);
>> 
>> by passing the config file location.
>> 
>> I was planning on doing the same for log4j2 config file but according to 
>> this<http://stackoverflow.com/questions/16716556/how-to-specify-log4j-2-x-config-location>
>>  
>> (http://stackoverflow.com/questions/16716556/how-to-specify-log4j-2-x-config-location
>>  )  and 
>> this<http://stackoverflow.com/questions/16778986/log4j-only-can-view-error-level-on-my-java-enterprise-application-module-ejb-wi>
>>  
>> (http://stackoverflow.com/questions/16778986/log4j-only-can-view-error-level-on-my-java-enterprise-application-module-ejb-wi
>>  ), it is not possible or advisable to use DOMConfigurator with log4j2.
>> 
>> So, my question is: How can I use different configuration files based on 
>> environment with log4j2?
>> 
>> I am not trying to have separate logfiles for each web application within an 
>> EAR, but a separate config file for each of the environments, so that, for 
>> example, I can have DEBUG in dev and UAT, but not in PROD or can have large 
>> file sizes in dev and uat, but not in prod. Like I mentioned in the 
>> question, what we do with version 1 is that we have, say, log4j-dev.xml, 
>> log4j-prod.xml etc. and have a servlet context listener and an env variable 
>> such that without making code changes, when I deploy the app to an env, it 
>> picks up correct config.
>> 
>> Thank you
> 
> 
> 
> 
> 
> 
> -----------------------------------------
> This email transmission and any accompanying attachments may
> contain CSX privileged and confidential information intended only
> for the use of the intended addressee.  Any dissemination,
> distribution, copying or action taken in reliance on the contents
> of this email by anyone other than the intended recipient is
> strictly prohibited.  If you have received this email in error
> please immediately delete it and  notify sender at the above CSX
> email address.  Sender and CSX accept no liability for any damage
> caused directly or indirectly by receipt of this email.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to