Gatling未按logback.xml配置生成指定日志文件,求技术支持
问题描述
配置了如下Logback配置文件,期望通过FILE appender生成logs/test_${timestamp}.log日志文件,但运行Gatling后仅生成simulation.log和Gatling报告,目标日志文件未生成。
配置文件内容
<configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern> </encoder> <immediateFlush>false</immediateFlush> </appender> <timestamp key="timestamp" datePattern="yyyy-MM-dd'T'HH:mm:ss"/> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>logs/test_${timestamp}.log</file> <append>true</append> <encoder> <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern> </encoder> </appender> <!-- Uncomment for logging ALL HTTP request and responses--> <logger name="io.gatling.http.ahc" level="TRACE" /> <logger name="io.gatling.http.response" level="TRACE" /> <!-- Uncomment for logging ONLY FAILED HTTP request and responses--> <!-- <logger name="io.gatling.http.ahc" level="DEBUG" />--> <!-- <logger name="io.gatling.http.response" level="DEBUG" />--> <!-- TRACE logs all HTTP requests/response, DEBUG logs only failed HTTP requests/response--> <!-- <logger name="io.gatling.http.engine.response" level="DEBUG" />--> <root level="TRACE"> <appender-ref ref="FILE"/> <!-- <appender-ref ref="CONSOLE"/>--> </root> </configuration>
日志生成情况截图

解决建议
- 确认配置文件位置:Gatling默认读取
src/test/resources/logback.xml(Maven/Gradle项目),独立安装包需放在conf目录下,确保配置文件被正确加载。 - 检查日志目录权限:手动创建
logs目录,确认当前运行Gatling的用户对该目录有读写权限,避免因目录不存在或权限不足导致日志无法生成。 - 替换为RollingFileAppender:基础
FileAppender在变量解析或滚动策略上存在局限,改用RollingFileAppender更适配压测场景,配置示例:<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/test.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logs/test_%d{yyyy-MM-dd'T'HH:mm:ss}.log</fileNamePattern> </rollingPolicy> <encoder> <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern> </encoder> </appender> - 临时开启控制台日志验证:取消
root节点中CONSOLEappender的注释,运行Gatling查看控制台是否有日志输出,验证配置的级别和Logger是否生效。 - 排查启动报错:运行Gatling时观察控制台输出,查看是否存在Logback加载失败、文件创建失败等报错信息,直接定位问题根源。
内容的提问来源于stack exchange,提问作者Pari
相关产品推荐
相关产品推荐

