Search code examples
javalog4jtomcat6

How do I log from inside my web application in Tomcat 6


How do I log from within my web application deployed on Tomcat 6? Where should I expect the logging output to go (internal tomcat log files, or will another logfile be generated)? I see a ton of documentation but am having a hard time finding a direct answer to the above questions. Where should I expect the logging to show up (currently it is log4j is not generating a log file and it is not showing up in my console). I am trying to follow http://www.laliluna.de/articles/log4j-tutorial.html .

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### file appender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=100KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.File=test.log
log4j.appender.file.threshold=info
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.rootLogger=debug, stdout

In my application I define a log object:

private static org.apache.log4j.Logger log = Logger.getLogger(MyClass.class);
log.error("LOGGING!");

Thanks for the help.


Solution

  • 2 things to try:

    1: Change test.log to /tmp/test.log so you know exactly where the file is supossed to be.

    2: Put your log4j.properties config file in your apache-tomcat-6.0.x/lib directory together with the log4j-1.2.15.jar file. And don't have any log4j files in your webapps/*/WEB-INF/lib

    That's the way I am doing it, and its working for me. Here is a usefull snippet from my log4j.properties (Remember to do a mk /tmp/logs if you use this config)

    log4j.rootLogger=debug, root
    log4j.appender.root=org.apache.log4j.FileAppender
    log4j.appender.root.layout = org.apache.log4j.PatternLayout
    log4j.appender.root.layout.conversionPattern = %d [%t] %-5p %c - %m%n
    log4j.appender.root.file = /tmp/logs/root.log
    log4j.appender.root.append = true
    
    log4j.category.mside = DEBUG,msideAppender
    log4j.category.javashare = DEBUG,msideAppender
    
    log4j.additivity.mside = false
    log4j.additivity.mside.msideAppender = false
    log4j.additivity.javashare = false
    
    #Define msideAppender.
    log4j.appender.msideAppender = org.apache.log4j.RollingFileAppender
    log4j.appender.msideAppender.MaxFileSize=10MB
    log4j.appender.msideAppender.MaxBackupIndex=7
    log4j.appender.msideAppender.file = /tmp/logs/mside.log
    log4j.appender.msideAppender.layout = org.apache.log4j.PatternLayout
    log4j.appender.msideAppender.layout.conversionPattern = %d [%t] %-5p %c - %m%n
    log4j.appender.msideAppender.append = true