我正在使用Jenkins,我将Windows机器设置为奴隶工作者。我有一个基于Maven的项目,在奴隶上运行。构建工作正常,但是我从log4j得到一个关于它没有被初始化的警告。我想抓住痒并删除警告,但我不知道如何。
我对log4j不太熟悉。我明白我可以设置一个系统属性来告诉它在哪里找到配置文件,但我不知道在Jenkins管道中应该设置属性的位置或方式。看起来警告是在Maven开始之前发出的,但是在奴隶开始工作之后。
这是控制台输出的信息:
Parsing POMs
[MyTest] $ java -cp C:\jenkins\maven3-agent.jar;C:\jenkins\tools\Maven\Maven\boot\plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main C:\jenkins\tools\Maven\Maven C:\Users\waisbrot\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\28\5c50da9c-2d1a9aef C:\jenkins\maven3-interceptor.jar 49210
<===[JENKINS REMOTING CAPACITY]===>channel started
log4j:WARN No appenders could be found for logger (org.apache.commons.beanutils.converters.BooleanConverter).
log4j:WARN Please initialize the log4j system properly.
Executing Maven: -B -f C:\jenkins\workspace\MyTest\pom.xml test
[INFO] Scanning for projects...
答案 0 :(得分:1)
我并不为此感到特别自豪,但我对任何闲聊都不感兴趣,所以我通过这样做来压制它
jar uf <path to maven3-agent-1.2.jar>/maven3-agent-1.2.jar log4j.xml
log4j.xml
包含
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<root>
<level value="off"/>
</root>
</log4j:configuration>
注意: jar
命令必须如图所示执行,当前目录中包含log4j.xml
。
答案 1 :(得分:0)
只需在类路径中提供log4j.properties或log4j.xml以及有效内容。有关详细信息,请参阅log4j文档