Even simpler. Just name the file "log4j2-name.xml” where “name” is the name of the web application.
Ralph > On Dec 5, 2018, at 8:23 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > From what you are describing I would set log4jConfiguration in your web > application’s web.xml as a context parameter. See > http://logging.apache.org/log4j/2.x/manual/webapp.html > <http://logging.apache.org/log4j/2.x/manual/webapp.html>. > > Ralph > > >> On Dec 5, 2018, at 7:54 AM, paginas <paralaspagin...@gmail.com >> <mailto:paralaspagin...@gmail.com>> wrote: >> >> Dear Log4j Team, >> >> First of all, thanks for your work. I am Leo, an Spanish web developer that >> need some help. >> >> I am migrating one of our project from slf4j v. 1.7.21 to log4j v.2.11.1 and >> I have this problem: >> >> -In my web project, we need to have the log4j.configurationFile with a >> particular name: Particular_web_app_log4j2.properties (example name) >> >> We cannot set the default log4j2.properties, log4j2.xml, etc in our >> repository. >> In slf4j we solved this situation with this code. (with this, all sl4j >> configuration is loaded from our custom log4j.properties): >> >> URL log4jURL = Loader.getResource(Log4javaFileName); >> if (log4jURL == null) { >> throw new Exception(); >> } >> PropertyConfigurator.configure(log4jURL); >> >> In log4j2 this method is deprecated and I found some alternatives, but any >> of them worked. >> Solution one: >> Set this property in my first line of code: >> System.setProperty("log4j.configurationFile",Log4java2FileName); >> It not works in my Websphere Application Server because log4j2 >> try to charge before my first web app line of code. >> Solution two: >> using java -D option which sets a system >> property on server start. >> It not works in my Websphere Application >> Server because it is an application server with other applications and we >> share the node, this change can affect to other apps. >> Solution three: >> Using an recharge of properties from custom XML properties: >> InputStream log4javaFile = >> getClass().getClassLoader().getResourceAsStream(Log4java2FileName); >> ConfigurationSource configuration = >> newConfigurationSource(log4javaFile); >> Configurator.initialize(null, configuration); >> It not works in my project because a regret to include this code in my >> InitContext (first point of code), this change only affect in some class, >> not in all context. (I have different servlets in my application and there >> are not affected by this change) >> >> Question: >> Is there an easy alternative for adjusting the properties >> file? (some like slf4j configuration) >> >> I would be very grateful if you could help me because I can not find a >> solution and I would like to be able to use the new log4j2. >> Best regards! >