我已经创建了一个maven项目,它将生成一个jar文件,其中包含我的所有模拟,当我运行它时,控制台日志级别太高。对我来说,有太多无用的信息。有没有办法在代码中配置它?下面是我的代码:
import io.gatling.app.Gatling
import io.gatling.core.config.GatlingPropertiesBuilder
import io.gatling.core.config.GatlingConfiguration
object Engine extends App {
val props = new GatlingPropertiesBuilder
if(System.getProperty("resultsFolder") == null){
props.resultsDirectory("results")
}else{
props.resultsDirectory(System.getProperty("resultsFolder"))
}
props.dataDirectory("data")
props.simulationClass(System.getProperty("simulationClass"))
Gatling.fromMap(props.build)
sys.exit()
}下面是我的目录树:
¦ dependency-reduced-pom.xml
¦ pom.xml
¦
+---src
+---main
¦ +---resources
¦ +---scala
¦ +---myPackage
¦ ¦ Engine.scala
¦ ¦
¦ +---simulation
¦ BasicSimulation.scala
¦
+---test
+---resources
¦ application.conf
¦ gatling.conf
¦ logback-test.xml
¦
+---scala
Placeholder.scala.config文件和logback是Gatling的默认文件。
发布于 2018-11-09 08:41:30
下面是你如何做到这一点:
package gatling.simulations
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
import org.slf4j.LoggerFactory
import ch.qos.logback.classic.{Level, LoggerContext}
class FooSimulation extends Simulation {
val context: LoggerContext = LoggerFactory.getILoggerFactory.asInstanceOf[LoggerContext]
// Log all HTTP requests
context.getLogger("io.gatling.http").setLevel(Level.valueOf("TRACE"))
// Log failed HTTP requests
//context.getLogger("io.gatling.http").setLevel(Level.valueOf("DEBUG"))
...发布于 2018-04-26 17:12:42
我找到了一个解决方案:将日志级别放在引擎中,而不是logbaxk.xml文件:
import io.gatling.app.Gatling
import io.gatling.core.config.GatlingPropertiesBuilder
import io.gatling.core.config.GatlingConfiguration
import org.slf4j.LoggerFactory
import java.util.logging.{Level, Logger}
object Engine extends App {
LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME).asInstanceOf[Logger].setLevel(Level.WARNING)
val props = new GatlingPropertiesBuilder
if(System.getProperty("resultsFolder") == null){
props.resultsDirectory("results")
}else{
props.resultsDirectory(System.getProperty("resultsFolder"))
}
props.dataDirectory("data")
props.simulationClass(System.getProperty("simulationClass"))
Gatling.fromMap(props.build)
sys.exit()
}发布于 2018-05-02 20:53:56
我像这样运行我的gatling:mvn clean gatling:execute@slalom -DLOG_LEVEL=WARN
将WARN替换为任何其他级别,它将按原样显示。
然后在编译期间直接在logback-test.xml中替换LOG_LEVEL,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<LOG_LEVEL>WARN</LOG_LEVEL>
</properties>
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
<immediateFlush>false</immediateFlush>
</encoder>
</appender>
<!-- Uncomment for logging ALL HTTP request and responses -->
<logger name="io.gatling.http" level="${LOG_LEVEL}" default = "WARN"/>
<!-- Uncomment for logging ONLY FAILED HTTP request and responses -->
<!--<logger name="io.gatling.http" level="WARN" />-->
<root level="${LOG_LEVEL}" default="WARN">
<appender-ref ref="CONSOLE" />
</root> -->
https://stackoverflow.com/questions/50038457
复制相似问题