2013-05-17 66 views
0

我配置了我的log4j.properties,以便它将所有的信息和调试消息放在一个单独的日志文件中的tomcat。但是,当应用程序失败时,请说出错误的sql命令,然后错误不会显示在该文件中,而是显示在常规的本地主机日志文件中。配置log4j显示错误

如何配置属性,使错误显示在该文件中?

log4j.rootCategory=INFO, logfile 

log4j.appender.logfile=org.apache.log4j.RollingFileAppender 
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - <%m>%n 
log4j.appender.logfile.File=${catalina.home}/logs/myapplog.log 

log4j.category.org.springframework.web=INFO 
log4j.category.com.package.app=DEBUG 
log4j.category.org.springframework.samples.mvc31=INFO 
log4j.logger.org.springframework.jdbc.core=DEBUG 

类型我想在我的日志文件中看到错误是这样的:

com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name... 
+0

请同时显示您用于初始化您的记录器的代码以及用于输出日志消息的代码。 –

回答

1

如果您捕获异常/错误(Throwable的),并把log.error陈述中你钓到的鱼块,那么只有你将能够看到你的日志文件中的异常消息。对于所有未在代码中捕获的异常,基本上都会推送到tomcat的控制台记录器,因此您会看到tomcat out日志文件中的异常跟踪。

因此,请尝试捕获代码中的所有可能异常,并将它们正确记录,以便它们出现在日志文件中。