Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

log4j.properties doesn't work correctly on wildfly

I have a log4j.properties file in the classpath.

It was found at the location APP/XX.jar/log4j.properties.

And I noticed that in the ear file I can also find log4j-1.2.17.jar in lib folder.

But whatever I wrote in the log4j.properties file, they were ignored. Like:

log4j.rootCategory=WARN

Or something like this:

log4j.rootCategory=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.logger.org.springframework=WARN

But all of the loggings will still be printed on the server.

Did I configure them wrong or has my Wildfly this property file igored?

like image 374
Manuela Avatar asked Mar 18 '23 03:03

Manuela


1 Answers

Given the location of the properties file it is ignored. If the log4j.properties file is in the EAR/META-INF directory then WildFly will attempt to configure log4j for you. It's suggested not to use a ConsoleAppender though as it could result in deadlocks due to the appender attempting to write to System.out and System.out being wrapped in WildFly.

Given the configuration this leaves you with three options.

  1. Change the value of add-logging-api-dependencies to false.
  2. Add a jboss-deployment-structure.xml and disable the logging subsystem on your deployment
  3. Configure logging via the logging subsystem. This can be done either globally or via a logging-profile.
like image 81
James R. Perkins Avatar answered Mar 26 '23 03:03

James R. Perkins