【问题标题】:Set logging level for Spring project为 Spring 项目设置日志记录级别
【发布时间】:2017-07-10 07:43:02
【问题描述】:

我正在使用 gradle 运行 spring-webmvc 项目,使用命令
./gradlew clean jettyRun

但是,每当我运行它时,我都会收到诸如(这只是一个示例)之类的调试消息的垃圾邮件

16:21:13.507 [1407721353@qtp-1264231563-3] DEBUG org.springframework.web.servlet.view.BeanNameViewResolver - No matching bean found for view name 'page'
16:21:13.511 [1407721353@qtp-1264231563-3] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'freemarkerConfig'
16:21:13.514 [1407721353@qtp-1264231563-3] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'page'
16:21:13.515 [1407721353@qtp-1264231563-3] DEBUG freemarker.cache - TemplateLoader.findTemplateSource("page_en_US.ftl"): Not found
16:21:13.516 [1407721353@qtp-1264231563-3] DEBUG freemarker.cache - TemplateLoader.findTemplateSource("page_en.ftl"): Not found
16:21:13.517 [1407721353@qtp-1264231563-3] DEBUG freemarker.cache - TemplateLoader.findTemplateSource("page.ftl"): Not found
16:21:13.517 [1407721353@qtp-1264231563-3] DEBUG freemarker.cache - "page.ftl"("en_US", Cp1252, parsed) no source found.

有谁知道我怎样才能让它不向我发送所有这些消息的垃圾邮件?我希望日志级别为 WARN 而不是 DEBUG。
我尝试推挤application.properties 文件,并在任何地方定义警告级别,如here 所述,但没有帮助。

编辑

我的 build.gradle 文件是

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'jetty'
apply plugin: 'war'
apply plugin: 'org.springframework.boot'

repositories {
    mavenCentral()
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:1.5.1.RELEASE") {
        exclude module: "spring-boot-starter-tomcat"
    }
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-jetty', version: '1.5.1.RELEASE'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '1.5.1.RELEASE'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '4.3.6.RELEASE'
    compile group: 'org.springframework', name: 'spring-context-support', version: '4.3.6.RELEASE'
    compile group: 'org.springframework', name: 'spring-orm', version: '4.3.6.RELEASE'
    compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'
    compile group: 'org.freemarker', name: 'freemarker', version: '2.3.23'
    compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5'
    compile group: 'org.hibernate', name: 'hibernate-core', version: '5.1.4.Final'
    compile group: 'commons-validator', name: 'commons-validator', version: '1.5.1'
    compile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '1.5.1.RELEASE'
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.2'
}

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.1.RELEASE")
    }
}

请注意,虽然我在其中包含了引导程序,但我并没有使用它从命令行运行,

更不用说引导日志消息看起来像这样

2017-02-21 16:53:11.256  INFO 6004 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 0
2017-02-21 16:53:11.379  INFO 6004 --- [           main] application                              : Initializing Spring FrameworkServlet 'dispatcherServlet'
2017-02-21 16:53:11.379  INFO 6004 --- [           main] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2017-02-21 16:53:11.395  INFO 6004 --- [           main] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 16 ms
2017-02-21 16:53:11.415  INFO 6004 --- [           main] o.e.jetty.server.AbstractConnector       : Started ServerConnector@418f890f{HTTP/1.1,[http/1.1]}{0.0.0.0:8888}

【问题讨论】:

  • 你在用spring boot吗?
  • 不,我正在使用spring-webmvc
  • 分享你的 gradle 配置文件。
  • @shi 添加了。顺便说一句,虽然我在那里包含了 spring boot,但我并没有使用它来运行 jettyRun 命令

标签: spring spring-mvc logging slf4j java.util.logging


【解决方案1】:

在资源目录中添加 logback.xml。确保你的类路径中有 logback jar。

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- Log message format -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
      </pattern>
    </encoder>
  </appender>

  <!-- Setting the root level of logging to INFO -->
  <root level="info">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

【讨论】:

  • 天哪,这太美了,我可以吻你!!!太感谢了!它就像一个魅力!
猜你喜欢
  • 2016-11-27
  • 2018-05-15
  • 2023-03-23
  • 1970-01-01
  • 2013-12-27
  • 2012-04-20
  • 2020-04-16
  • 1970-01-01
相关资源
最近更新 更多