kam*_*951 5 logging scala jar gatling
我创建了一个 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()
}
Run Code Online (Sandbox Code Playgroud)
这是我的目录树:
¦ 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
Run Code Online (Sandbox Code Playgroud)
.config 文件和 logback 是 Gatling 的默认文件。
这是你如何做到的:
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"))
...
Run Code Online (Sandbox Code Playgroud)
我找到了一个解决方案:将日志级别放入引擎中,而不是读取 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()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5400 次 |
| 最近记录: |