Jmeter日志撑爆磁盘,需要控制输出

突然之间发现磁盘快要爆了
在这里插入图片描述

Jmeter日志撑爆磁盘,需要控制输出_第1张图片
Jmeter日志撑爆磁盘,需要控制输出_第2张图片

日志大约90多GB,需要控制日志输出。
Jmeter的log输出控制
Jmeter的log输出控制(jmeter.log)

log_level.jmeter=ERROR
log_level.jmeter.junit=DEBUG

在jmeter.properties中,修改Jmeter的日志级别为:ERROR, 否则产生巨大的日志文件jmeter.log,如果是需要查看详细的调试信息,可以将log_level.jmeter设置为DEBUG

对于断言,如果想打印更加详细的自定义日志到jmeter.log,可以这样做:

添加一个BeanShell Assertion,script这样填写:

import org.apache.log4j.Logger;
if (increment==5 && vars.getObject("filterID").equals("NOT FOUND"))
{
      Failure=true;
      FailureMessage="Create filter for task 5 times in a row,all failed!";
      log.error("user-defined error, FailureMessage: " + FailureMessage);
}
else
{
      System.out.println("filterID="+vars.getObject("filterID"));
      log.info("user-defined success, filterID=" + vars.getObject("filterID"));
}

如果是运行到else里面,jmeter.log中就会打印这样的信息:

2013/10/07 02:20:24 INFO  - jmeter.util.BeanShellTestElement: user-defined success, filterID=4104

如果是运行到if里面,jmeter.log中就会打印这样的信息:

2013/10/07 02:59:44 ERROR - jmeter.util.BeanShellTestElement: user-defined error, FailureMessage: Create filter for task 5 times in a row,all failed!
日志面板设置:

背景:利用jmeter测试接口时,比较复杂的接口,需要加密等等,可能会需要打印执行过程中的中间数据。jmeter并没有提供显示这些数据的专门的地方和接口,只能采用beanshell脚本,利用log输出。然而jmeter内部的日志也是在此日志面板显示,有太多的不需要的信息。为了过滤不必要的信息,设置日志级别为ERROR,并使用log.error输出。jmeter不会保存,也没地方设置日志级别,和默认显示日志面板。所以只能通过手动修改配置文件来达到需要。

  1. 修改日志级别。

JMeter_HOME/bin下,修改log4j2.xml。

修改为

  1. 默认显示日志面板。

JMeter_HOME/bin下,修改jmeter.properties

修改jmeter.loggerpanel.display=true,并取消注释。

你可能感兴趣的:(Jmeter性能测试)