I am trying to configure tomcat 7 internal logging with log4j2
. I have followed the answer provided at Logging server classes in Tomcat 6 with log4j2.
I am using tomcat 7.0.54, and log4j-core-2.1.jar
, log4j-api-2.1.jar
.
I have down loaded the extras and did all the steps below, but when I start tomcat, I get an error:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
These are the steps I performed:
log4j2.xml
in $CATALINA_BASE/lib
tomcat-juli.jar
and tomcat-juli-adapters.jar
from "extras"log4j-api-2.1.jar
, log4j-core-2.1.jar
, log4j-jul-2.1.jar
, and tomcat-juli-adapters.jar
from "extras" into $CATALINA_HOME/lib
.$CATALINA_HOME/bin/tomcat-juli.jar
with tomcat-juli.jar
from "extras".$CATALINA_BASE/conf/logging.properties
log4j2-jul
bridge (log4j-jul-2.1.jar
). Alter catalina.sh
to ensure that the classpath includes bin/tomcat-juli.jar
, lib/log4j-jul-2.1.jar
, lib/log4j-api-2.1.jar
and lib/log4j-core-2.1.jar
, and the command used to start tomcat includes
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager`I even tried adding this (LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_HOME/lib/log4j2.xml"
) in catalina.sh
but didn't work.
Please let me know if anyone could configure it successfully.
I took the following steps and it worked for me.
The trick is to follow the official tomcat 7 documentation to setup log4J 1.X but instead use log4j2 artifacts instead. Also this solution does not require any changes in $CATALINA_HOME/bin/catalina.sh or any other files $CATALINA_HOME/bin