首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为带有模块的gradle项目设置log4j?

如何为带有模块的gradle项目设置log4j?
EN

Stack Overflow用户
提问于 2018-08-20 00:10:30
回答 1查看 223关注 0票数 1

如何为带有模块的gradle项目设置log4j?

我有一个项目设置如下:

代码语言:javascript
复制
project root
build.gradle
gradle.properties
settings.gradle
// this root project does:
// include CommonModule
// includeBuild <all composite modules within module folder>

---CommonModule
------build.gradle
------gradle.properties
------settings.gradle
------src/main/groovy/...<common-code>
------src/main/resources/log4j2.xml

Modules
---OtherModule-1 
// this is a gradle composite module
// it also includes the common module 
------build.gradle
------gradle.properties
------settings.gradle
------src/main/groovy/...module1-code
------src/main/resources/log4j2.xml
---OtherModule-2 
// this is a gradle composite module
// it also includes the common module 
------build.gradle
------gradle.properties
------settings.gradle
------src/main/groovy/...module2-code
------src/main/resources/log4j2.xml

如上所示,我们有一个公共级模块和一个包含与模块相关的复合模块的模块文件夹,每个模块都依赖于包含的CommonModule (核心公共代码是共同的,复合模块每个包含扩展公共内容的代码)。

我的问题很简单:

  • 我在哪里配置我的log4j模块?
  • 我能把它放在普通的包含模块中吗?
  • 还是每个组合模块都需要有自己的log4j xml?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-22 20:18:15

我在https://discuss.gradle.org/t/how-do-you-set-up-log4j-for-a-gradle-project-with-modules/28262论坛上问了同样的问题,得到了一个答案-

  • 公共模块不包括log4j配置个人库
  • 模块既不包括log4j配置,也不包括顶级应用程序
  • 模块确实包含一个log4j配置,但没有将它放在类路径上(为此,我预留了一个src/log4j/ config目录)。
  • 应用程序本身的启动程序(无论是来自发布版本还是来自Gradle构建中的JavaExec )指定加载log4j配置的位置,这样您就不会意外地被类路径上的其他信任所毒害。
  • 可以通过在gradle属性文件(例如,-D )中提供一个-Dlog4j.configurationFile=标志来定义xml位置
  • 此外,-Dlog4j.debug可能有助于跟踪问题。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51922781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档