Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在简单示例项目中更改Spring框架日志级别?_Java_Spring_Logging_Spring Boot_Spring Jdbc - Fatal编程技术网

Java 在简单示例项目中更改Spring框架日志级别?

Java 在简单示例项目中更改Spring框架日志级别?,java,spring,logging,spring-boot,spring-jdbc,Java,Spring,Logging,Spring Boot,Spring Jdbc,在下面的Spring示例中,我希望看到如下输出: Creating tables Inserting customer record for John Woo Inserting customer record for Jeff Dean ... 相反,我得到了一些散布在每行之间的DEBUGlog消息: Creating tables 12:31:16.474 [main] DEBUG o.s.jdbc.core.JdbcTemplate - Executing SQL statement [

在下面的Spring示例中,我希望看到如下输出:

Creating tables
Inserting customer record for John Woo
Inserting customer record for Jeff Dean
...
相反,我得到了一些散布在每行之间的
DEBUG
log消息:

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]
...
似乎表明可以通过更改my
log4j.properties
文件中的日志级别来解决此问题。但是,在下面的示例中,从未提到
log4j.properties
文件

有趣的是,Spring似乎在内部使用了
log4j

$ grep -R "log4j" *
Binary file build/libs/gs-relational-data-access-0.1.0.jar matches
我想我可以使用
log4j
来解决这个问题,但似乎没有关于将
log4j.properties
放在何处或如何将其集成到这个项目中的信息

如何更改日志级别以删除那些
DEBUG
语句


如果我需要使用
log4j.properties
文件,我应该把它放在哪里?我是否需要将它绑定到我的
build.gradle
文件,或者以某种方式在我的
java
文件中引用它?

这是
Spring Boot
的作品,它在下面处理日志路由
jul
jcl
log4j
over
slf4j
并通过
slf4j
使用
Logback
,这可以从可区分的缩短名称空间类名看出

所有这些都可以通过IntelliJ图表工具直接在pom文件上看到:

此设置遵循最佳实践:

由于Spring
DEBUG
级别的原因,日志很健谈。要改变这一点:

1) 像在Maven项目中一样,在
/src/main
下创建一个
resources
目录。 2) 在其中创建包含以下内容的
logback.xml
文件:

<configuration>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>web - %date [%thread] %-5level %logger{36} - %message%n
            </pattern>
        </encoder>
    </appender>

    <logger name="org.springframework" level="WARN" />

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>

</configuration>

六年后回顾这个问题,我能说的就是,“哇,这比应该的复杂多了。”
Creating tables
Inserting customer record for John Woo
Inserting customer record for Jeff Dean
Inserting customer record for Josh Bloch
Inserting customer record for Josh Long
Querying for customer records where first_name = 'Josh':
Customer[id=3, firstName='Josh', lastName='Bloch']
Customer[id=4, firstName='Josh', lastName='Long']