tomcat中的Log4j没有显示日志

时间:2013-11-29 08:40:22

标签: java tomcat logging

这是我的log4j.properties

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}\MyLog\PmcDemo.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# 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{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

我正在使用tomcat 6.0,在我的应用程序中我从log4j使用了Logger但是我没有在服务器控制台或日志文件中看到任何输出。我的应用程序使用struts2作为前端,Spring框架作为中间层,hibernate作为结束层。我没有看到我的应用程序记录如何在tomcat 6中启用它?

2 个答案:

答案 0 :(得分:6)

您需要切换正斜杠的反斜杠:

${catalina.home}/MyLog/PmcDemo.log

或逃避他们

${catalina.home}\\MyLog\\PmcDemo.log

如果这没有帮助,请告诉我们项目的结构以及log4j.properties文件的存储位置。

答案 1 :(得分:1)

尝试此步骤,

如果运行Tomcat 6.x:

 1. If you have not already done so, modify the <<TOMCAT_HOME>>/conf/catalina.properties file so that the shared classloader mechanism work the same as Tomcat 5.x.
 2. To do this, verify that the entry beginning with shared.loader= reads shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar If running Tomcat 5.x or higher:

如果运行Tomcat 5.x或更高版本:

 3. If it does not already exist, create a "shared/classes" directory under <<TOMCAT_HOME>>.

 4. If it does not already exist, create a "shared/lib" directory under <<TOMCAT_HOME>>.
 5. Copy log4j-###.jar into <<TOMCAT_HOME>>/shared/lib.

    **Note:** Any specific version of log4j-###.jar should work. You can download the stable log4j version 1.2 installation from http://logging.apache.org/log4j/1.2/download.html

 6. Copy a log4j.properties file into <<TOMCAT>>/shared/classes.

示例
要获取名为“initiate.log”的日志文件以显示在<<TOMCAT_HOME>>/logs目录中,log4j.properties文件的初始版本为:

    log4j.rootLogger=ERROR, R

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

    # Pattern to output the caller's file name and line number.
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=${catalina.home}/logs/initiate.log

    log4j.appender.R.MaxFileSize=1000KB
    log4j.appender.R.MaxBackupIndex=5

    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{ABSOLUTE} 5-5p %c{2} - %m %n

    log4j.logger.org.springframework=ERROR
    log4j.logger.org.springframework.web.servlet.mvc=ERROR

    #set to DEBUG to see hibernate and connection-pool logging output
    log4j.logger.org.hibernate=ERROR
    log4j.logger.org.apache.commons.dbcp=ERROR

    #set to DEBUG to see Initiate-specific logging output
    log4j.logger.com.initiatesystems=DEBUG

    #set to DEBUG to set Initiate-specific verbose logging output
    log4j.logger.verbose=ERROR

引自:http://pic.dhe.ibm.com/infocenter/initiate/v9r5/index.jsp?topic=%2Fcom.ibm.datatrust.doc%2Ftopics%2Ft_datatrust_configuring_log4j_logging_apachetomcat.html