【问题标题】:Gradle multi-project with shared logging config使用共享日志配置的 Gradle 多项目
【发布时间】:2016-12-08 19:03:23
【问题描述】:

是否有一种标准方法可以在 gradle 项目布局中的所有子项目之间共享日志配置(例如 log4j 或 logback)?

我现在所做的是将logback.xml(或log4j.properties)的副本放在每个子项目的src/main/resources 中,但这会导致此配置文件出现大量不必要的重复

【问题讨论】:

    标签: gradle log4j logback configuration-files


    【解决方案1】:

    这可以通过使用 gradle 中的多个工作集轻松克服。

    在项目的根目录中添加一个新文件夹,例如“shared-resources”将我们的配置放入其中,然后将以下行添加到子项目的build.gradle

    sourceSets {
        main {
            resources {
                srcDirs = ["src/main/resource", "../shared-resources"]
            }
        }
    }
    

    这应该将这两个文件添加到您的 jar 文件中。

    一个例子可以在github找到

    【讨论】:

    • 好答案,作为一个选项 - 这个sourceSets 块可以添加到根项目中build.gradlesubprojects 部分。
    【解决方案2】:

    在其src/main/resources 目录中创建一个包含您的Log4j2 配置的共享util 模块。

    然后将util模块导入其他模块。

    dependencies {
        compile project(":util");
    }
    

    我还将 util 模块用于可重用的 Java 代码,而不仅仅是用于 Log4j2 的一次性配置。

    【讨论】:

      猜你喜欢
      • 2014-01-19
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      相关资源
      最近更新 更多