D'où vient JMeter garder test/journaux d'application?
Je veux surveiller les logs de mes tests (ou des applications si vous voulez). Par exemple, je peut avoir un log de ligne dans le code comme ceci:
logger.info( "dummy log" );
Cependant, lorsque je lance JMeter comme ceci:
jmeter -n -t foobar.jmx
Je n'ai aucune idée de où chercher pour qu'journal factice. Alors, d'où JMeter garder les logs de ces tests? Mieux encore, comment puis-je le configurer?
Merci beaucoup.
mise à jour
J'ai oublié de mentionner que le test journaux n'ont pas été trouvés dans le fichier journal par défaut jmeter.log
. Est-ce vrai que le test de journaux doivent apparaître dans le jmeter.log
à moins qu'il y a certains paramètres désactivation de la sortie du test de logs?
mise à jour 2
J'ai collé l'jmeter.propriétés: http://pastebin.com/6paTqRrK
Ci-dessous sont extraits de code pertinentes.
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 );
}
}
Gradle construire.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>
En quelque sorte, le "journal factice" message ne s'affiche pas dans le jmeter.journal.
OriginalL'auteur JBT | 2014-05-08
Vous devez vous connecter pour publier un commentaire.
Par défaut tous les enregistrement va à
jmeter.log
fichier qui est généralement situé dans le dossier /bin de votre JMeter de l'installation. Cependant, l'emplacement peut varier en se basant sur le mode de lancement de JMeter et quel en serait-il du dossier de travail. Voir FileServer API pour plus de détails.Si vous voulez sortie d'enregistrement à partir d'une classe personnalisée, d'extension ou plugin, il peut être perdu par la configuration. Essayez de "raconter" JMeter le journal désiré niveau de votre classe, via la propriété.
Voir
user.properties
fichier dans le dossier /bin de votre JMeter d'installation pour des exemples de niveaux de journalisation de la configuration et Apache JMeter Propriétés Guide De Personnalisation pour savoir comment les modifier.Cependant, je suis sûr que si vous initialisez votre
logger
comme suit:Vous verrez que "quelque chose" ligne dans le journal.
Espère que cette aide.
org.apache.jorphan.logging.LoggingManager
, mais gradle ne peut pas résoudre une dépendance pour jorphan, si cette solution ne fonctionne pas pour moi car je veux garder gradle.Vous devez configurer plus
sl4j
journalisation pour ajouter la sortie de jmeter.fichier journal (ou tout autre fichier). slf4j.org/faq.htmlOriginalL'auteur Dmitri T
Pour JMeter 2.13 vous avez besoin de modifier bin/log4j.conf où le général log4j paramètres peuvent être placés. Par exemple, la bin/root.fichier journal est enregistré comme indiqué ci-dessous:
OriginalL'auteur vim
Le nom du fichier journal est défini dans le jmeter.propriétés fichier (ou à l'aide de l'option-j, voir ci-dessous). La valeur par défaut est jmeter.journal , et se trouve dans le répertoire à partir duquel JMeter a été lancé.
http://jmeter.apache.org/usermanual/get-started.html#logging
Je l'ai juste testé avec jmeter-2.9 dans ma machine. Je lance le jmeter en mode ligne de commande en changeant le répertoire \apache jmeter-2.9\apache jmeter-2.9\bin et saisissez jmeter -n -t de test.jmx -l logjtl.jtl.
Trouvé jmeter.journal dans le dossier bin est mis à jour et contient le journal.
Si vous modifiez des paramètres dans jmeter, essayez avec un nouveau jmeter par l'extraction de la jmeter zip.
-@Nidheesh: Merci pour le suivi. Vraiment l'apprécier. J'ai ajouté plus de détails à ma question. Je crois tout ce que tu dis, mais de toute façon il ne fonctionne pas sur ma fin.
OriginalL'auteur Nidheesh