美文网首页
关闭Spring Framework 4.x的日志输出

关闭Spring Framework 4.x的日志输出

作者: 福柯船长 | 来源:发表于2019-11-11 18:41 被阅读0次

    阅读文章需要对log4j和maven有一定了解

    Spring在创建ApplicationContext时在控制台会有一系列INFO级别的启动输出,如下↓

    image

    想要屏蔽这些输出需要在log4j中做出相关配置,即把Spring在控制台的最低日志输出级别设置为WARN(默认是INFO)。在Spring4.x之前只需要在项目的log4j.properties中加入log4j.category.xxx=WARN,这里的xxx是包的名字,可以从日志输出信息中找到。比如上图中的输出来自org.springframework.beans.factory.xml和org.springframework.context.support,所以我在log4j.properties加入以下两句话。

    log4j.category.org.springframework.beans.factory.xml=WARN

    log4j.category.org.springframework.context.support=WARN

    (ps. 这里的设置会对xxx包下的所有子包都有效,如果想干脆一点,可以直接写:log4j.category.org.springframework = WARN)

    但是在Spring 4.x 中日志输出用的不是log4j而是commons.logging,所以无论你在log4j.properties写什么都没用。

    一个可行解决方案为:把Spring的日志输出换回log4j,再进行上面所说的配置。

    切换过程如下:

    1. 在pom.xml中为spring的dependency加入exclusions,排除commons-logging (我只引入了spring-context这一个spring dependency, 如果有很多spring dependency好像只需要在spring-core中加入exclusions,如果出问题可以在所有的spring dependency中都加上):
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.3.18.RELEASE</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    1. 添加下面的新dependency
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.5.8</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.5.8</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.5.8</version>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.14</version>
            </dependency>
    
    1. 重载maven

    2. 在log4j.properties中加入上文说到的配置

    相关文章

      网友评论

          本文标题:关闭Spring Framework 4.x的日志输出

          本文链接:https://www.haomeiwen.com/subject/msfxictx.html