我想從我的測試(或應用程序,如果你願意)監視日誌。例如,我可能有這樣的代碼日誌行:JMeter在哪裏保存測試/應用程序日誌?
logger.info("dummy log");
然而,當我運行的JMeter是這樣的:
jmeter -n -t foobar.jmx
我不知道到哪裏尋找該虛擬日誌。那麼,JMeter從測試中保存日誌的位置在哪裏?更好的是,我該如何配置它?
非常感謝。
更新
我忘了提,測試日誌未在默認的日誌文件jmeter.log
找到。除非有一些設置禁用測試日誌的輸出,否則測試日誌應該出現在jmeter.log
中,這是真的嗎?
更新2
我在這裏粘貼jmeter.properties:http://pastebin.com/6paTqRrK
下面是相關的代碼片段。
package foo.bar;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.junit.Assert.assertTrue;
public class DummyTest {
private static final Logger logger = LoggerFactory.getLogger(DummyTest.class.getName());
@Test
public void test(){
System.out.println("dummy message");
logger.info("dummy log");
assertTrue(true);
}
}
搖籃的build.gradle:
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.1'
compile 'org.slf4j:slf4j-api:1.7.5'
runtime 'ch.qos.logback:logback-classic:1.0.13'
runtime 'ch.qos.logback:logback-core:1.0.13'
testCompile 'junit:junit:4.11'
}
// bundle everything into a fat jar
jar {
from {
configurations.testRuntime.collect {
it.isDirectory() ? it : zipTree(it)
} + sourceSets.main.output + sourceSets.test.output
}
archiveName = 'junit_sampler.jar'
}
task updateJar(type: Copy, dependsOn: jar) {
from './junit_sampler.jar'
into "${System.properties['user.home']}/opt/apache-jmeter-2.11/lib/junit"
}
foobar.jmx:
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.6" jmeter="2.11 r1554548">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Check Logging" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<stringProp name="LoopController.loops">3</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">1</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
<longProp name="ThreadGroup.start_time">1399656770000</longProp>
<longProp name="ThreadGroup.end_time">1399656770000</longProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
</ThreadGroup>
<hashTree>
<JUnitSampler guiclass="JUnitTestSamplerGui" testclass="JUnitSampler" testname="JUnit Request" enabled="true">
<stringProp name="junitSampler.classname">foo.bar.DummyTest</stringProp>
<stringProp name="junitsampler.constructorstring"></stringProp>
<stringProp name="junitsampler.method">test</stringProp>
<stringProp name="junitsampler.pkg.filter"></stringProp>
<stringProp name="junitsampler.success">Test successful</stringProp>
<stringProp name="junitsampler.success.code">1000</stringProp>
<stringProp name="junitsampler.failure">Test failed</stringProp>
<stringProp name="junitsampler.failure.code">0001</stringProp>
<stringProp name="junitsampler.error">An unexpected error occured</stringProp>
<stringProp name="junitsampler.error.code">9999</stringProp>
<stringProp name="junitsampler.exec.setup">false</stringProp>
<stringProp name="junitsampler.append.error">false</stringProp>
<stringProp name="junitsampler.append.exception">false</stringProp>
<boolProp name="junitsampler.junit4">true</boolProp>
</JUnitSampler>
<hashTree/>
</hashTree>
</hashTree>
</hashTree>
</jmeterTestPlan>
不知何故, 「虛擬日誌」 消息,只是沒有在JMeter的出現。登錄。
嗨,我沒有在jmeter.log中看到測試日誌。請參閱我的更新。 – JBT
我剛剛在我的機器上用** jmeter-2.9 **進行了測試。我通過將目錄更改爲** \ apache-jmeter-2.9 \ apache-jmeter-2.9 \ bin **並輸入* jmeter -n -t test.jmx -l logjtl.jtl *來以命令行模式運行jmeter。 – Nidheesh
在bin文件夾中發現jmeter.log已更新並且包含日誌。 – Nidheesh