jmeter.log 在非 GUI 模式下 运行 时文件未更新(使用 JMeter 5.2.1)

jmeter.log file not updated when run in non-GUI mode (using JMeter 5.2.1)

我正在使用 JMeter 5.2.1,当我 运行 在 GUI 模式下进行一些测试(甚至启动 GUI 模式)时,jmeter.log 被填充。但是当我使用非GUI模式时,什么也没有发生。

命令行:"M:\Apps\apache-jmeter-5.2.1\bin\jmeter" -Jthreads=1 -Jrampup=20 -n -t "M:\Data.....\test.jmx" -l "M:\Data\test.csv".

测试 运行 正常并生成 csv,但 jmeter.log 没有被触及。测试完成后,JMeter 控制台立即关闭,因此甚至无法查看是否还有其他错误。

我的理解是 jmeter.log 应该从 GUI 和非 GUI 测试 运行 中更新。我错过了什么吗?

jmeter.log写在执行的文件夹里

因此,如果您执行非 GUI (CLI) 模式,它将 append/create jmeter.log 在您的文件夹中

另请参阅相关的 command line 日志选项:

-l, --logfile <argument>
    the file to log samples to
-i, --jmeterlogconf <argument>
    jmeter logging configuration file (log4j2.xml)
-j, --jmeterlogfile <argument>
    jmeter run log file (jmeter.log)

您的理解是正确的,但您对在哪里可以找到 jmeter.log 文件的理解可能并非如此。

  • 如果您从 JMeter 的“bin”文件夹中 运行ning - jmeter.log 文件将是 generated/updated 在这个文件夹中

  • 如果您从另一个文件夹运行ning JMeter,它将在那个文件夹中生成。如果是这种情况 - 不要在 M:\Apps\apache-jmeter-5.2.1\bin 下查找更新的日志,而是在 %cd%\jmeter.log

    中查找

如果上述提示没有帮助 - 很可能是您的 log4j2.xml 文件不知何故损坏了,请从 JMeter GitHub

获取全新版本

如果您希望 JMeter 将日志存储在 M:\Apps\apache-jmeter-5.2.1\bin 文件夹下,无论您 运行 它来自何处 - 替换此行:

<File name="jmeter-log" fileName="${sys:jmeter.logfile:-jmeter.log}" append="false">

这个:

<File name="jmeter-log" fileName="M:/Apps/apache-jmeter-5.2.1/bin/jmeter.log}" append="false">

下次启动 JMeter 时,您将看到您正在寻找的“日志更新”。

更多信息:How to Configure JMeter Logging

另请注意 according to JMeter Best Practices you should always be using the latest version of JMeter 因此执行升级可能是个好主意