Tomcat log4j configuration step by step

Apache Tomcat J2EE Server

JULI logging library and configuration are available by default with the tomcat installer. In order to use Log4j for Tomcat internal logging instead, you will need to replace the existing JULI library with the Log4j-JULI integration.

1. Delete existing JULI library (CATALINA_HOME/bin/tomcat-juli.jar file) and the existing Tomcat Java Logging configuration file (CATALINA_HOME/conf/

2. Download JULI Log4j Tomcat library (tomcat-juli.jar) from the Tomcat downloads’ Extras section ( Place the downloaded file to CATALINA_HOME/bin directory.

3. Download Tomcat JULI adapters library (tomcat-juli-adapters.jar) from the Tomcat downloads’ Extras section. Place this file in the CATALINA_HOME/lib directory.

4. Download Log4j (version 1.2 or later), and place the downloaded library file to CATALINA_HOME/lib directory.

5. Create the Log4j configuration file at the following location: CATALINA_HOME/lib/ Check below log4j configuration matching the default Java Logging configuration.

6. Restart Tomcat.

Log4j configuration File Matching the Default Tomcat Logging Settings:

log4j.rootLogger=INFO, CATALINA
# Define all the appenders log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.Append=true log4j.appender.CATALINA.Encoding=UTF-8

# Roll-over the log once per day
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout

log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.LOCALHOST.Append=true log4j.appender.LOCALHOST.Encoding=UTF-8
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.MANAGER.Append=true log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.HOST-MANAGER.Append=true log4j.appender.HOST-MANAGER.Encoding=UTF-8
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

# Configure which loggers log to which appenders[Catalina].[localhost]=INFO, LOCALHOST[Catalina].[localhost].[/manager]=INFO,MANAGER[Catalina].[localhost].[/host-manager]= INFO, HOST-MANAGER

Tomcat will now use Log4j for all internal logging.

To understand above configuration check below details to get a clear view

Configuration Elements for Log4j’s PatternLayout

%d Logging date. You can specify date pattern in curly brackets (%d{HH:mm:ss,SSS})

%c Fully qualified class name (use %c{1} to print only simple class name)

%t Name of the thread where logging occurred

%F Filename of the logging event

%p Logging level %L Line number of the logging event

%m The actual logging message %n Line separator (add this to the end of the pattern to force new line)

Here are some of the pattern examples and the log entries they generated:

%d [%t] %-5p %c - %m%n
2011-09-07 14:07:41,509 [main] INFO MyntClass – Executing...
%5p [%t] (%F:%L) - %m%n
INFO [main] ( – Executing...

For more info on log4j checkout below link:



In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.