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 在当前文件夹下加载脚本库。
我想为 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 在当前文件夹下加载脚本库。