logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From paginas <paralaspagin...@gmail.com>
Subject Problem with log4j2.configurationFile. Using log4j2.properties with custom file name.
Date Wed, 05 Dec 2018 14:54:44 GMT
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!
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message