【问题标题】:Turn off or configure java.util.Logging during Maven build在 Maven 构建期间关闭或配置 java.util.Logging
【发布时间】:2014-06-27 00:50:56
【问题描述】:

我想清理/统一 Maven 构建的日志输出。不幸的是,maven 插件的依赖项使用 java.util.Logging (JUL)。简单地将org.slf4j:jul-to-slf4j 添加为重定向日志输出的附加依赖项并没有帮助。当然,排除也不起作用,因为它是 JUL,因此不是依赖项。 这是我的配置,包含特定插件及其依赖项:

配置

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>2.7.11</version>
    <executions>...</executions>
    <configuration>
        <defaultOptions>
            <extraargs>
                <extraarg>-xjc-Xbg</extraarg>
            </extraargs>
        </defaultOptions>
    </configuration>
    <dependencies>
        <!-- This one uses JUL with logging level WARN -->
        <dependency>
            <groupId>org.apache.cxf.xjcplugins</groupId>
            <artifactId>cxf-xjc-boolean</artifactId>
            <version>2.7.0</version>
        </dependency>
    </dependencies>
</plugin>

更新

我已经通过将包含以下内容的 logging.properties 文件添加到项目的根文件夹来关闭/配置 JUL 本身:

# Turn off any java.util.Loggers (or use SEVERE to see problems)
.level=OFF

另外,我必须使用以下参数执行Maven(或将其设置为MAVEN_OPTS):

mvn clean install -Djava.util.logging.config.file=${basedir}/logging.properties

剩下的问题

有没有什么方法可以在没有额外文件和/或 JVM 参数的情况下实现相同的结果(仅限 pom.xml)?

【问题讨论】:

标签: maven logging cxf-xjc-plugin cxf-codegen-plugin


【解决方案1】:

您也可以像这样设置所需的日志级别,而不是属性文件或完全禁用其他答案中建议的所有日志记录:

<additionalJvmArgs>-Dorg.apache.cxf.level=OFF</additionalJvmArgs>

级别必须是java.util.logging.Level 之一。

【讨论】:

    【解决方案2】:

    我有类似的行为:在运行我的 Struts2 测试用例时,从 CXF 2.6.3 生成的 web 服务类中收到警告消息,污染了我的测试日志。

    由于没有从发送的包中显示日志跟踪,因此我试图配置错误的包。

    我已经从我的扩展XWorkTestCase(或任何你需要的)的测试中将它添加到我的setUp() 测试用例方法中:

    public void setUp() throws Exception{
            super.setUp();      
            java.util.logging.Logger.getLogger("org.apache.cxf").setLevel(Level.OFF);       
        }
    

    然后,当我从 maven 运行测试时,不再出现来自 CXF 的日志消息。

    【讨论】:

      【解决方案3】:

      使用 maven 构建我的项目时,插件 cxf-codegen-plugin 的以下配置阻止显示 DEBUG 日志条目:

      <configuration>    
        <fork>once</fork>
        <additionalJvmArgs>
          -Dorg.apache.cxf.Logger=null
        </additionalJvmArgs>
      </configuration>
      

      【讨论】:

        猜你喜欢
        • 2014-04-18
        • 2012-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-17
        • 2012-04-21
        • 1970-01-01
        相关资源
        最近更新 更多