我已经配置了我的log4j.properties,以便将所有信息和调试消息放在tomcat中的单独日志文件中。但是,当应用程序失败时,请说错误的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...
答案 0 :(得分:2)
如果要捕获异常/错误(Throwable)并将log.error语句放入catch块,那么只有您才能在日志文件中看到异常消息。对于所有未在代码中捕获的异常,将基本上推送到tomcat的控制台记录器,因此您将在tomcat out日志文件中看到异常跟踪。
因此,请尝试捕获代码中的所有可能异常并正确记录它们,以便它们显示在日志文件中。