anchormath anchormath - 1 year ago 56
Java Question

Commons logging only going to system logs in WAS 6.1

I am trying to use commons-logging with log4j to write my app logs to a file, but my logs keep going to SystemOut.log. The log file did get created, but its empty.

Here's my and should be on classpath - they're under WEB-INF/classes)

WEB-INF/classes/ :

log4j.rootLogger=INFO, AppLogAppender, AppLogAppender, AppLogAppender

# AppLogAppender

log4j.appender.AppLogAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n



I have log4j.jar and commons-logging.jar on my application classpath.I have seen the classloader problem in was6.0 where you have to make it "app first", but I dont see any commons-logging classes from the base Websphere classpath in the classloader views.

Answer Source

The fact that the file is empty is telling us that indeed your own is being called, and not some other / log4j.xml in the classpath. Remember, File Appenders in log4j are designed so the output file is created as soon as log4j initializes - not waiting for the first log line to go there.

Now, I think you're missing this in your


If that doesn't help, add the necessary system property to your WAS instance to activate log4j in "debug mode" - property name log4j.debug, value true.