如何禁用Spring日志以获得我可以轻松阅读或其他人可以阅读的日志输出.在一个类似的问题,回答了如何禁用的Spring bean加载日志建议注释掉让所有线路org.springframework substring在log4j.properties file.在我的情况下,没有这样的线.
这是 log4j.properties
# Define the root logger with appender file
log4j.rootLogger = DEBUG, stdout
# Define the file appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# Set the name of the logs destination
log4j.appender.stdout.target=System.out
# Set the immediate flush to true (default)
log4j.appender.stdout.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.stdout.Threshold=debug
# Set the append to false, overwrite
log4j.appender.stdout.Append=false
# Define the layout for appender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd}:%m%n
Run Code Online (Sandbox Code Playgroud) 在遵循这个 Spring示例时,我希望看到这样的输出:
Creating tables
Inserting customer record for John Woo
Inserting customer record for Jeff Dean
...
Run Code Online (Sandbox Code Playgroud)
相反,我DEBUG在每一行之间散布了一些日志消息:
Creating tables
12:31:16.474 [main] DEBUG o.s.jdbc.core.JdbcTemplate - Executing SQL statement [drop table customers if exists]
12:31:16.484 [main] DEBUG o.s.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
12:31:16.484 [main] DEBUG o.s.j.d.SimpleDriverDataSource - Creating new JDBC Driver Connection to [jdbc:h2:mem]
...
Run Code Online (Sandbox Code Playgroud)
这些 不同的 答案似乎表明可以通过更改我的log4j.properties文件中的日志级别来解决这个问题.然而,在下面的例子春季一个log4j.properties文件从未被提及.
有趣的是,Spring确实似乎在log4j内部使用:
$ grep -R "log4j" *
Binary file build/libs/gs-relational-data-access-0.1.0.jar …Run Code Online (Sandbox Code Playgroud) 我有一个基本的Spring 4 JPA应用程序.我使用所有Java配置(根本没有XML).我想关闭控制台调试消息.我已经看到很多关于此的问题,并尝试了解决方案,但我仍然看到了所有的消息.
控制台消息如下所示:
14:58:29.301 [main] DEBUG o.h.loader.entity.plan.EntityLoader....
14:58:29.328 [main] INFO o.h.tool.hbm2ddl.SchemaUpdate....
....
14:58:29.905 [main] DEBUG o.h.h.i.ast.QueryTranslatorImpl - --- HQL AST ---
\-[QUERY] Node: 'query'
\-[SELECT_FROM] Node: 'SELECT_FROM'
+-[FROM] Node: 'from'
| \-[RANGE] Node: 'RANGE'
| +-[DOT] Node: '.'
| | +-[IDENT] Node: 'hello'
| | \-[IDENT] Node: 'Customer'
| \-[ALIAS] Node: 'generatedAlias0'
\-[SELECT] Node: 'select'
\-[IDENT] Node: 'generatedAlias0'
....
Hundreds of lines more....
Run Code Online (Sandbox Code Playgroud)
我试图在HibernateJpaVendorAdapter和LocalContainerEntityManagerFactoryBean中设置show_sql,如下所示:
@Bean
public EntityManagerFactory entityManagerFactory() throws SQLException {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setGenerateDdl(true);
vendorAdapter.setShowSql(false);
LocalContainerEntityManagerFactoryBean …Run Code Online (Sandbox Code Playgroud)