java - Eclipse Tomcat 8 服务器上的 Spring MVC 应用程序输出过多的 DEBUG 消息

标签 java eclipse spring tomcat logging

我有一个在 Eclipse STS 3.7 中编译的 Spring 应用程序,我在 Tomcat 8 服务器上运行它。最近,我的控制台收到了很多 DEBUG 消息,我似乎无法摆脱这些消息。它们看起来都像这样......

14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester -   New match='web-app'
14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester -   Fire begin() for org.apache.tomcat.util.descriptor.web.SetPublicIdRule@24f3d083
14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester - org.apache.tomcat.util.descriptor.web.WebXml.setPublicId(null)
14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester -   Fire begin() for org.apache.tomcat.util.descriptor.web.IgnoreAnnotationsRule@46f993c3
14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester - org.apache.tomcat.util.descriptor.web.WebXml.setMetadataComplete( false)
14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester -   Fire begin() for org.apache.tomcat.util.descriptor.web.VersionRule@3556c2ee
14:58:16.756 [localhost-startStop-1] DEBUG o.a.tomcat.util.digester.Digester - org.apache.tomcat.util.descriptor.web.WebXml.setVersion( 2.5)

当然还有很多上面的输出。我可以从缩写的地址名称(o.a.tomcat 而不是 org.apache.tomcat)看出这可能来自 Spring Commons Logging。我一辈子都想不出如何关闭它。我查看了各种线程:

这些解决方案似乎都没有帮助。我知道我一定是忽略了一些东西。我的配置如下...

src/main/resources/logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>

<configuration scan="true" scanPeriod="30 seconds">

    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>

    <!-- To enable JMX Management -->
    <jmxConfigurator/>

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{0} - %msg%n
            </Pattern>
        </layout>
    </appender>


    <!--<logger name="org.hibernate" level="debug"/> -->
    <logger name="com.my.project" level="info"/>

    <root level="info">
        <appender-ref ref="console"/>
    </root>
</configuration>

Tomcat 8 VM 参数(在 Eclipse 中配置)

-Dcatalina.base="C:\Workspaces\windwaker\.metadata\.plugins\org.eclipse.wst.server.core\tmp0"
-Dcatalina.home="C:\apache-tomcat-8.0.28"
-Dwtp.deploy="C:\Workspaces\windwaker\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps"
-Djava.endorsed.dirs="C:\apache-tomcat-8.0.28\endorsed"
-Djava.util.logging.config.file="C:\apache-tomcat-8.0.28\conf\logging.properties"

C:\apache-tomcat-8.0.28\conf\logging.properties

.level=INFO
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter

如果您想了解有关我的设置的任何其他信息,我很乐意与您分享。感谢您提供的任何帮助。

最佳答案

我无法重现您的问题。我有 Tomcat apache-tomcat-8.0.30,我使用了你的 logback.properties 和 logging.properties,不同的是我创建了 mylogging.properties 并使用了 -Djava.util.logging.config 中的路径。文件

我有一个简单的 MVC Controller (spring-webmvc,4.2.4.RELEASE):

package test;

import java.util.Date;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ExecuteController {

//  @Autowired
    JdbcTemplate jdbcTemplate;

    @ResponseBody
    @RequestMapping(path="execute")
    public String execute() {
        return new Date().toString() + ": executed " + (jdbcTemplate == null);
    }

}

即使被调用,我也不会在日志中看到此类消息。

您可以尝试全新安装和/或提供更多信息吗?

关于java - Eclipse Tomcat 8 服务器上的 Spring MVC 应用程序输出过多的 DEBUG 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599033/

相关文章:

Java Obscured混淆

java - 如何列出jar中资源中的目录

java - 从父类(super class)中的方法中查找方法内容? (Java/ eclipse )

java - 如何从终端设置构建路径

java - 我们可以使用 Spring-cloud-netflix 和 Hystrix 来重试失败的执行吗

java - Spring Webflow : How to change the destination of a transition in a child flow

spring - OAuth2多重身份验证中的空客户端

java - Resteasy/JAX-RS URL 编码 @PATH

java - 正确取消启动 ExecutorService 的 JavaFX 任务

java - 下载 jre v8 后 Apache Tomcat 不工作