0

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

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

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...
4

1 回答 1

2

如果您正在捕获异常/错误(Throwable)并将 log.error 语句放在您的 catch 块中,那么只有您才能在日志文件中看到异常消息。对于您的代码中未捕获的所有异常,基本上将被推送到 tomcat 的控制台记录器,因此您会在 tomcat 输出日志文件中看到异常跟踪。

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

于 2013-05-17T14:01:29.030 回答