Java 从maven禁用jetty运行的日志记录

Java 从maven禁用jetty运行的日志记录,java,maven-2,jetty,slf4j,Java,Maven 2,Jetty,Slf4j,我下载了一个需要从源代码构建的大框架。该项目使用maven构建结构,包括一个演示应用程序,可以通过嵌入式jetty查看该应用程序。Maven插件处理所有这些事情 但是,当我运行演示应用程序(使用mvnjetty:run)时,我无法真正使用它,因为出于某种原因,调试级别的日志记录被打开,并且应用程序花费了大部分时间记录大量语句。响应能力几乎为零 该框架(geomajas 1.5.0)似乎使用了SLF4J,但我不知道它在哪里配置或在哪里可以关闭 任何想法欢迎。。。谢谢 更新: 显然,他们使用logb

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

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

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

任何想法欢迎。。。谢谢

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

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

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

尝试找出一个log4j配置(如果它用于日志记录)——可能是log4j.xml(或log4j.properties)文件。如果从类路径中删除此文件,则根本不会进行日志记录。如果您想降低日志级别,请尝试注释掉该文件中的一些日志部分,例如

<!--<logger name="org.hibernate">
    <level value="debug"/> 
    <appender-ref ref="hibernate-file"/>
</logger>-->


对于本例,org.hibernate包中的类将没有日志。

查看此slf4j手册/概述,您似乎可以使用slf4j NOP jar(slf4j-NOP-1.5.10.jar)关闭所有日志记录。因此,您可能需要在Project WEB-INF/lib文件夹中找到当前的slf4j实现jar,并将其替换为NOP jar

虽然它很可能使用log4j实现,但如果是这种情况,您需要找到log4j.xml或log4j.properties并编辑/删除它们。但是,它们可能很难找到——首先在WEB-INF/classes中查找,然后在某种配置目录中查找将是一个很好的开始

编辑{ 有点难看,但如果您只是想让它尽快启动并运行,您可以将stdout和stderr重定向到/dev/null,这样会使它更快一些,因为它不会写入磁盘或控制台:

mvn jetty:run>dev/null 2>&1 }


HTH

禁用日志记录的最简单、最直接的方法实际上是使用NOP。为此,编辑
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>

org.slf4j
slf4j api
1.5.8
org.slf4j
slf4j nop
1.5.8

并运行
mvnjetty:run

Geomajas对示例应用程序使用logback。您可以使用src/main/resources中的logback.xml文件配置日志记录

可以使用以下配置文件关闭所有功能:

<configuration>
    <root>
        <level value="OFF"/>
    </root>
</configuration>

亲切问候,,
Joachim

我在Windows 7上,它是否有/dev/null等效项?啊,好的,然后是这样的:“mvn jetty:run>NUL”,我在这里找到: