aspose file tools*
The moose likes Tomcat and the fly likes Log4j and Tomcat problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Products » Tomcat
Bookmark "Log4j and Tomcat problem" Watch "Log4j and Tomcat problem" New topic

Log4j and Tomcat problem

Egil Poma
Ranch Hand

Joined: Nov 23, 2002
Posts: 40
I'm using Tomcat 5.0.30 running on Ubuntu Linux (6.06).

I've made a small webapp which runs fine under Tomcat on Windows, but on Linux I've got a problem with log4j.

I've put "commons-logging-1.1.jar" and "log4j-1.2.13.jar" in the webapps libs directory. In the classes directory I've put which point to the log file: /var/log/ne/ne.log

The problem is that the webapp won't even run as log as the is in the class path. If I remove from the classes directory the application will run, but there's no logging.

This looks like a Tomcat problem, since the webapp runs fine on windows. There's also no error messages in any of the files in /var/log/tomcat5/

What's wrong?

My look like this:

# The log4j configuration file.

log4j.rootCategory=DEBUG, FileApp

# FileApp

# File appender

# Max filesize before creating new log file.

# How many backup files to keep

# Log layout
log4j.appender.FileApp.layout.ConversionPattern=%d{ISO8601} | %-5.5p | %-35.35F | %25M() | %-4L | %m%n
Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697

Moving to Tomcat forum.

My Blog: Down Home Country Coding with Scott Selikoff
Egil Poma
Ranch Hand

Joined: Nov 23, 2002
Posts: 40
I've changed permission so that everyone can do everything with the log file and the directory it's in (/var/log/ne). Tomcat is also started with the root user.

I think this is a classpath issue, because when I remove "commons-logging-1.1.jar" from the webapp's classpath (WEB-INF/lib) it will run fine but without logging.

I see that in CATALINA_HOME/bin (which I assume is Tomcats class path?) there's a file called "commons-logging-api.jar". I don't know if I can safely remove that file without breaking something else?

I've not added the log4j.jar to CATALINA_HOME/common/lib since it's in the webapp's class path.

I'll try to add log4j.DEBUG=true to the as it will also force log4j to print debug info to stdout.
Egil Poma
Ranch Hand

Joined: Nov 23, 2002
Posts: 40
I give up.... I've tried everything without getting log4j to work.

If I remove both log4j.jar and commons-logging.jar from the webapp classpath (WEB_INF/lib) I don't get any errors, so it looks like they're already included in tomcats classpath.

I've tried changing the to write to system.out (/var/log/tomcat5/catalina.out) without luck:

# The log4j configuration file.

Then I tried putting in $CATALINA_HOME/shared/classes and $CATALINA_HOME/common/classes, but it still would'nt log anything.

I'm almost starting to cry now.... I hope someone can chime in because I really have run out of ideas.

How can I test if really is in the classpath? Perhaps that's what's wrong...
Egil Poma
Ranch Hand

Joined: Nov 23, 2002
Posts: 40
Found a solution:
I had installed Tomcat through the Ubuntu Synaptic Package manager. It would seem this was not a healthy install, because I just uninstalled it and installed Tomcat 5.5 manually and everything worked perfectly. What the problem was I never figured out since the install was scattered all over the hard drive.

The only thing that bothers me now is that if I open up /var/log/ne/ne.log in a text editor, say vi, and edit it, log4j will stop logging to the file. I have to restart the webapp to make it start logging again. Anyone know what might cause that?
Jan Groth
Ranch Hand

Joined: Feb 03, 2004
Posts: 456
hi egil,

sorry no help, just want to say thank you for your good style - even though i had no clue what your problem was (like you ;-)) i'm following your thread with interest and am really appreciating that you are updating it.

I agree. Here's the link:
subject: Log4j and Tomcat problem
Similar Threads
log4j and Cactus
Logging info on server side
unable to log with log4j in tomcat 6.0.29
log4j setup on Tomcat - log file not created
Logging in Tomcat 5