I include in ejb-jar a properties file log4j2.component.properties that contains a full path to log4j configuration file for this app:
% cat ./admin-ui/src/main/resources/log4j2.component.properties log4j.configurationFile=${sys:jboss.server.config.dir}/wallet-admin-log4jv2.xml On 15.04.2016 13:52, Steven Yang wrote: > First of all thanks to all suggestions. > > I dont think setting system property solves my issue because they are both > in the same tomcat which means they share the same system property. > > setting the log4jConfiguration in web.xml means I will always have to set > it even if I am in local development right? unless I use different web.xml > for different environments? > > I think I will go into the direction of Ralph's suggestion, however I am > probably going to use ${web:contextPath}. > > Thanks all > > On Fri, Apr 15, 2016 at 5:02 AM, Matt Sicker <boa...@gmail.com> wrote: > >> That functionality is from log4j-web. >> >> On 14 April 2016 at 15:50, Niranjan Rao <nhr...@gmail.com> wrote: >> >>> If you are using spring by any chance, I think this can be resolved using >>> following in web.xml >>> >>> <context-param> >>> <param-name>log4jConfiguration</param-name> >>> <param-value>${sys:LOG4J_PATH}</param-value> >>> </context-param> >>> >>> and LOG4J_PATH is defined using -DLOG4J_PATH=file:///<your path> in >> setenv >>> file. >>> >>> I am not sure if this is spring functionality, or log4j functionality, >> but >>> it does work for us. We have multiple application on same tomcat instance >>> and each log goes to it's own file. We don't like to embed the log4j >>> settings in the JAR or WAR files as it means another deployment if you >> want >>> to change log settings to triage a problem. >>> >>> Regards, >>> >>> Niranjan >>> >>> >>> On 04/13/2016 09:54 PM, Ralph Goers wrote: >>> >>>> Is the log4j configuration similar in the same environments? If so you >>>> could have your log4j.xml file be a “template” where all the items that >> are >>>> variable are variables resolved by a lookup. You could either use the >>>> system properties lookup and make sure all the system properties are >>>> defined, or you could create a custom lookup that reads a property file >>>> named for the environment as you have described. You would then use that >>>> lookup to resolve all the configurable items in log4j2.xml. >>>> >>>> Ralph >>>> >>>> On Apr 13, 2016, at 5:22 PM, Steven Yang <kenshin...@gmail.com> wrote: >>>>> Hi >>>>> >>>>> currently the convention we adopt on property files are having separate >>>>> file for each environment. >>>>> for example, if there is a property file call "database" then there >> will >>>>> be >>>>> a database.dev.properties for local develop, database.uat.properties >> for >>>>> UAT and a database.prod.properties for production. >>>>> However log4j only supports a normal one and a test. >>>>> >>>>> Of course we can rename the file before deploying the application (no >>>>> hassle, since we are using Gradle). >>>>> However, we dont feel like its the best solution thats why we used the >>>>> jvm >>>>> argument when we were using separate tomcats. >>>>> >>>>> So just want to make sure there is no other better solution for this >> case >>>>> before I go into using the xml file directly in the war file. >>>>> >>>>> Thanks >>>>> >>>>> On Wed, Apr 13, 2016 at 3:17 AM, Kamal Mettananda <lka...@gmail.com> >>>>> wrote: >>>>> >>>>> Hi Steven >>>>>> Have you looked at using separate and different log4j2.xml files >> inside >>>>>> each app (.war files) rather than using command line configurations? >>>>>> >>>>>> Thanks >>>>>> Kamal >>>>>> >>>>>> ----------------------- >>>>>> www.digizol.com >>>>>> >>>>>> >>>>>> On Tue, Apr 12, 2016 at 4:10 PM Steven Yang <kenshin...@gmail.com> >>>>>> wrote: >>>>>> >>>>>> Hi >>>>>>> I am trying to deploy 2 applications in to one tomcat (originally in >> 2 >>>>>>> separate tomcat). >>>>>>> And I use -Dlog4j.configurationFile to specify my log4j >> configuration. >>>>>>> However, if I do that both applications will write to the same file. >>>>>>> I want each application to write to there own files. >>>>>>> Both applications have very similar packages and share many common >>>>>>> libraries developed in-house, so using package name to separate logs >>>>>>> will >>>>>>> not be what we want. >>>>>>> >>>>>>> What is the best solution/practice to this kind of problem? >>>>>>> >>>>>>> (using log4j 2.5) >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>>> >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org >>> For additional commands, e-mail: log4j-user-h...@logging.apache.org >>> >>> >> >> -- >> Matt Sicker <boa...@gmail.com> >> -- Denis Kostousov email: denisATkst-dDOTnet jabber: sandelloATjabber.ru pgp fingerprint: 8333 395D 395A B7D7 2CDF BBBF 14E2 EE1E E797 04EB linkedin: https://www.linkedin.com/in/deniskostousov