java - 禁用从 Maven 运行的 Jetty 日志记录

标签 java maven-2 jetty slf4j

我下载了一个需要从源代码构建的大型框架。该项目使用 Maven 构建结构,并包含一个可以使用嵌入式 jetty 查看的演示应用程序。 Maven 插件处理所有这些事情。

但是,当我运行演示应用程序(使用 mvn jetty:run)时,我无法真正使用它,因为由于某种原因,打开了 DEBUG 级别的日志记录,并且应用程序大部分时间都在记录大量语句。响应能力几乎为零。

框架(geomajas 1.5.0)似乎使用了SLF4J,但我不知道它在哪里配置或在哪里可以关闭。

欢迎任何想法...谢谢!

更新: 显然他们使用了 logback。我找到了配置文件(logback.xml),其中我编辑了DEBUG级别并将其替换为ERROR

为了确保更改能够传播,我清理了项目并重建了它。但问题依然存在! 我手动查看了 target 文件夹中的 logback.xml 文件,它们已更新。但我还是看到了日志记录!

更新2 顺便说一句,我使用的是 Windows 7。

最佳答案

禁用日志记录的最简单、最直接的方法确实是使用 NOP binding 。为此,请编辑 geomajas/geomajas-dojo-example/pom.xml 并将日志记录依赖项更改为:

    <!-- logging dependencies, delegate all to slf4j and use logback -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.8</version>
    </dependency>
    <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-nop</artifactId>
       <version>1.5.8</version>
    </dependency>

并运行mvn jetty:run

关于java - 禁用从 Maven 运行的 Jetty 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071052/

相关文章:

java - 为什么Java JDK文件夹中有一个java.exe?

hibernate - 如何强制 Maven 在 Hibernate 3.3.2GA 中使用 Ehcache 2.2.0?

java - SL4J 时间戳

java - 在Java中解析包含JS的HTML页面

java - 何时可以在 Wicket Ajax TabbedPanel 中使用 getString()?

java - 使用嵌入式 Jetty 作为应用程序服务器时内存阻塞

java - Gradle 使用 servlet-api 2.5 而不是 3.0.1 创建 war

maven - 禁用父 POM 中定义的 Maven 插件

java - 有没有一种简单的方法可以从 Maven POM 生成 Ant 构建脚本?

java - Jetty WebsocketClient 不连接 Android 上的 SSL