【问题标题】:Disabling logging for jetty run from maven从 maven 禁用码头运行的日志记录
【发布时间】:2011-01-05 11:26:13
【问题描述】:

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

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

框架(geomajas 1.5.0)好像用的是SLF4J,但是不知道在哪里配置或者在哪里可以关闭。

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

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

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

更新 2 顺便说一句,我在 Windows 7 上。

【问题讨论】:

    标签: java maven-2 jetty slf4j


    【解决方案1】:

    禁用日志记录的最简单直接的方法是使用 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

    【讨论】:

      【解决方案2】:

      查看此 slf4j 手册/概述 http://www.slf4j.org/manual.html 看起来您可以使用 slf4j NOP jar (slf4j-nop-1.5.10.jar) 关闭所有日志记录。因此,您可能需要在项目的 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

      【讨论】:

      【解决方案3】:

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

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

      对于此示例,不会有来自 org.hibernate 包的类的日志。

      【讨论】:

        【解决方案4】:

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

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

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

        亲切的问候, 约阿希姆

        【讨论】:

          猜你喜欢
          • 2011-01-08
          • 2015-04-07
          • 1970-01-01
          • 2010-10-31
          • 2022-06-21
          • 1970-01-01
          • 2013-01-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多