【发布时间】:2011-03-04 08:30:52
【问题描述】:
我已按照说明从此处配置 tomcat 6 以使用 log4j 进行日志记录:Logging in Tomcat
但是,我注意到线程似乎正在记录到标准输出,而与 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 的最后一行。以下内容不断涌入我的 tomcat.out 日志:
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 应用程序中部署了一个类似的 log4j.properties 文件,该文件位于 WEB-INF/classes 下,具有类似的属性(但记录到不同的文件)。为什么日志语句不遵循我定义的转换模式,也不遵循我设置的日志级别限制?
我在 SunOS 5.10 amd64 上运行 tomcat 6.0.30、Java 1.6.0_23 和 log4j 1.2.16。我的应用程序日志的输出按预期工作。提前感谢您的帮助。
安德鲁
【问题讨论】: