我按照说明来配置Tomcat 6使用log4j的从这里登录:Logging in TomcatTomcat 6 Log4j配置 - 标准输出仍在写入?
然而,我注意到,线程显得记录到标准输出,完全不考虑在log4j.properties设置日志级别。这里是我的log4j.properties文件:
log4j.rootLogger=WARN, CATALINA
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.file=${catalina.base}/logs/tomcat.out
log4j.appender.CATALINA.encoding=UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CATALINA.layout=org.apache.log4j.PatternLayout
log4j.appender.CATALINA.append=true
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.encoding=UTF-8
log4j.appender.CONSOLE.conversionPattern = %d [%t] %-5p %c- %m%n
# Configure which loggers log to which appenders
#log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST
#log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=INFO, MANAGER
#log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=INFO, HOST-MANAGER
log4j.logger.org.hibernate.hql.ast=ERROR
这是在我的$ {} CATALINA_BASE/lib目录下的文件。请注意我将org.hibernate.hql.ast级别设置为ERROR的最后一行。
15663118 [http-8080-1] WARN org.hibernate.hql.ast.QueryTranslatorImpl - firstResult/maxResults specified with collection fetch; applying in memory!
15663531 [TP-Processor7] WARN org.hibernate.hql.ast.QueryTranslatorImpl - firstResult/maxResults specified with collection fetch; applying in memor
62100 [http-8080-18] INFO org.hibernate.cache.StandardQueryCache - starting query cache at region: video
我也有类似的属性(但登录到不同的文件),WEB-INF/classes目录下部署在Web应用程序我类似的log4j.properties文件:正不断地喷涌到我tomcat.out日志以下。为什么日志语句不遵循我定义的转换模式,也不遵循我设置的日志级别限制?
我在SunOS 5.10 amd64上运行tomcat 6.0.30,Java 1.6.0_23和log4j 1.2.16。输出到我的应用程序日志按预期工作。在此先感谢您的帮助。
安德鲁