首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示分级log4j任务的JavaExec输出?

如何显示分级log4j任务的JavaExec输出?
EN

Stack Overflow用户
提问于 2018-03-19 17:46:30
回答 2查看 584关注 0票数 0

我想使用Gradle任务来执行salesforce数据采集器的java命令,这样我们就可以在一个自包含的项目中加载数据。我已将dataloader安装到本地maven repo中,并按如下方式设置了我的gradle项目:

build.gradle:

代码语言:javascript
复制
apply plugin: 'groovy'

repositories {
    mavenCentral()
    mavenLocal()
}

dependencies {
    compile gradleApi()
    compile 'com.force:dataloader:42.0.0'
    compile 'org.codehaus.groovy:groovy-all:2.4.7'
}

task generateKey(type: JavaExec) {
    classpath sourceSets.main.runtimeClasspath

    main = 'com.salesforce.dataloader.security.EncryptionUtil'

    args '-g', 'seedText'
}

问题

当我执行gradle generateKey时,任务成功地完成,但是没有显示来自EncryptionUtil的输出。我怀疑这是因为数据处理机使用的是log4j记录器,而不是直接打印到标准输出?我还需要做进一步的配置吗?

我还尝试过一个直接调用EncryptionUtil.main('-g', 'seedText')的任务,但除非我以-info模式运行任务,否则也不会显示任何输出。

谢谢你的帮忙!我很感激反馈和任何我没有想到的选择。我们是一家gradle商店,但也许有更好的解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-19 19:11:47

布拉赫。我没有使用./gradlew。往前走,这里什么也看不见。

票数 0
EN

Stack Overflow用户

发布于 2020-06-29 12:39:52

  1. 为了将log4j配置注入您的javaexec任务,需要使用以下结构(请参阅类路径param): //打印您的类路径"io.github.rockitconsulting.test.rockitizer.cli.RockitizerCLI“fileCollection sourceSets.main.runtimeClasspath.each { println it} def sourceSets.main.runtimeClasspath.each= javaexec { logger.lifecycle”执行cli命令PoC“classpath sourceSets.main.runtimeClasspath //inject classpath main = "-Dapp.home=${config.testProjectDir}”args =“create”,"AlexOne“}
  2. 通过将运行时类路径添加到build.gradle中的依赖项块,使用、log4j.xml、添加目录,如下所示: 依赖项{运行时文件(ProjectDir)编译fileTree(dir:'lib/ib10',包括:'*.jar') }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49369302

复制
相关文章

相似问题

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