SoapUI 在 soapui-log4j.xml 发生变化后不改变日志文件 name/path

SoapUI does not change log file name/path after changes in soapui-log4j.xml

我想为 soapui 日志设置不同的目录,所以我对 soapui-log4j.xml 文件进行了一些更正:

   <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
     <errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
     <param name="File" value="${soapui.logroot}soapui.log"/>
     <!--param name="File" value="C:\Temp\soapui.log"/-->
     <param name="Threshold" value="INFO"/>
     <param name="Append" value="false"/>
    <param name="MaxFileSize" value="5000KB"/>
     <param name="MaxBackupIndex" value="50"/>
     <layout class="org.apache.log4j.PatternLayout">
       <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n"/>
     </layout>      
   </appender>

例如只需更改文件的名称:

<param name="File" value="${soapui.logroot}soapui_1.log"/>

或更改路径:

<param name="File" value="C:\Temp\soapui.log"/>

但这并没有帮助,在此更改后根本不会创建文件。我应该更改其他内容吗?

SoapUI 使用 SOAPUI_HOME/bin/soapui-xxx.jar 文件中的 log4j 设置文件。 如果需要覆盖配置,将相应的 log4j 配置文件名作为其值传递系统 属性 soapui.log4j.config

  • 转到 SOAPUI_HOME/bin
  • 在文本编辑器中打开文件 SoapUI-5.3.0.vmoptions(文件名可能因版本不同而不同)
  • 在当前配置的末尾添加一行

    -Dsoapui.log4j.config=/absolute/path/of/log4j.xml

注意: 使用 unix 风格的文件路径分隔符/甚至在 windows 上。在 log4.xml 文件中也对自定义日志文件路径使用相同的样式。

对日志记录异常的一个修复是 运行 SOAPUI 在 Windows 中具有更高的权限。但除非万不得已,否则我不喜欢这样做。

如果您愿意编辑一些已安装的文件,更好的修复方法分为两个部分。 (Rao 的回答谈到为 log4j 定义一个不同的配置文件,但您实际上只需要定义一个符号,随后 log4j 将使用该符号)。

使用文本编辑器,在类似于此的路径中编辑文件(是的,这是 Rao 的回答告诉您编辑的同一个文件,但更改不同):

C:\Program Files\SmartBear\SoapUI-5.3.0\bin\SoapUI-5.3.0.vmoptions

并通过添加类似于

的行指向您选择的日志记录文件夹

-Dsoapui.logroot=C:/Users/Test/.soapuios/logfiles/

我还发现我需要编辑 testrunner.bat,因为测试 运行ner 不会 运行 使用您刚刚添加到 SOAPUI 的符号。使用与上面相同的安装路径,对我来说,它位于:

C:\Program Files\SmartBear\SoapUI-5.3.0\bin\testrunner.bat

并且您需要在文件末尾附近添加一个额外的 JAVA_OPTS,它定义了您放入 .vmoptions 文件中的相同符号。

最后,您可能还想编辑文件 toolrunner.bat(如果您曾经使用过这些工具)

run testrunner in linux 

cd /home/readyapi 

/usr/local/readyapi2.3.0/bin/testrunner.sh  -Dsoapui.log4j.config="/home/readyapi/config/soapui-log4j.xml" -r -a -j -f/usr/local/apache-tomcat-9.0.12/webapps/report "-RJUnit-Style HTML Report" -FXML -Eautotest "/home/readyapi/project/auto-api-riskcontrol-readyapi" &

-Dsoapui.log4j.config="/home/readyapi/config/soapui-log4j.xml"  : use custom log4j config 

"/home/readyapi/project/auto-api-riskcontrol-readyapi" : this is a composite project

备注: 创建文件夹 "/home/readyapi/scripts" ,放所有脚本库 当 运行 testrunner.sh cd 到文件夹 "/home/readyapi" 首先,因为 test运行ner 在当前文件夹下加载脚本库。