java - 使用 log4j 将 spring 消息从 sysout 获取到文件

标签 java spring spring-mvc log4j

我正在尝试将 Spring 消息重定向到日志文件。

我只能收到部分消息,但无法收到全部消息。

这是我的 log4j 文件

log4j.rootLogger=DEBUG, stdout, file, fileDebug
log4j.logger = ERROR
log4j.category.org.springframework = DEBUG
log4j.category.org.springframework.jdbc.core = DEBUG
org.springframework.jdbc.core.JdbcTemplate = DEBUG
org.springframework.jdbc.core.StatementCreatorUtils = DEBUG

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file INFO level
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.Threshold=INFO
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file DEBUG level
log4j.appender.fileDebug=org.apache.log4j.RollingFileAppender
log4j.appender.fileDebug.Threshold=DEBUG
log4j.appender.fileDebug.MaxFileSize=5MB
log4j.appender.fileDebug.MaxBackupIndex=10
log4j.appender.fileDebug.layout=org.apache.log4j.PatternLayout
log4j.appender.fileDebug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# log locations
log4j.appender.file.File=logInfo.log
log4j.appender.fileDebug.File=debug.log

我在 debug.log 中得到的内容是例如

2015-04-14 11:18:16 DEBUG ConfigurationImpl:120 - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator 2015-04-14 11:18:16 DEBUG ConfigurationImpl:140 - Setting custom ConstraintValidatorFactory of type org.springframework.validation.beanvalidation.SpringConstraintValidatorFactory 2015-04-14 11:18:16 DEBUG ConfigurationImpl:154 - Setting custom ParameterNameProvider of type com.sun.proxy.$Proxy15 2015-04-14 11:18:16 DEBUG ValidationXmlParser:88 - Trying to load META-INF/validation.xml for XML based Validator configuration. 2015-04-14 11:18:16 DEBUG ValidationXmlParser:95 - No META-INF/validation.xml found. Using annotation based configuration only.

但是我没有看到 jdbcTemplate 中的任何内容,但它在我的控制台中。

11:19:19.673 [http-bio-8080-exec-6] DEBUG o.s.jdbc.core.JdbcTemplate - Executing prepared SQL query

所以这应该是 org.springframework.jdbc.core.JdbcTemplate 的调试级别,但这似乎没有做任何事情。

我可能错过了一些明显的东西,但我就是看不到它......谢谢你的建议。

最佳答案

您需要更改以下行:

来自

org.springframework.jdbc.core.JdbcTemplate = DEBUG
org.springframework.jdbc.core.StatementCreatorUtils = DEBUG

log4j.logger.org.springframework.jdbc.core.JdbcTemplate = DEBUG, fileDebug
log4j.additivity.org.springframework.jdbc.core.JdbcTemplate=false

log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils = DEBUG, fileDebug
log4j.additivity.org.springframework.jdbc.core.StatementCreatorUtils=false

关于java - 使用 log4j 将 spring 消息从 sysout 获取到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29623690/

相关文章:

java - 未找到 HTTP 请求与 URI 的映射

java - 在几秒钟内没有响应后,如何停止主线程中通过 TaskExecutor 运行的线程?

java - Spring 安全 : How to redirect to a REST url after login

java - 如何为 Controller 中的许多方法添加权限检查? (过滤器、 Action )

java - 如何调用字符串数组中的 Java 方法? (java.lang.NoSuchMethodException)

java - 从 MySQL 数据库获取时抛出 TransactionSystemException | java.lang.OutOfMemory错误: Java heap space

java - 无法使用 View 树观察器获取 View 大小

java - 无法解析 org.springframework.security.core.GrantedAuthority,即使它已下载/显示在项目库下

java - 如何防止 Spring MVC 进行重定向?

java - 为什么我得到 Class not found 异常