如何向Karate的logback-test.xml传递Azure流水线Maven传入的日志级别变量
根因说明
日志级别参数不生效的核心原因是Maven传递的参数名与logback配置文件中引用的变量名不一致:
- Maven命令中传入的参数名为
karate.logLevel,但logback-test.xml里配置的占位符变量名为logLevel,两者不匹配时logback无法读取到传入的自定义值,会默认使用DEBUG级别的日志。
解决方法
修改Maven命令的参数名,和logback配置里的变量名保持一致即可:
原失效命令:
mvn clean test -Dkarate.logLevel=${{ parameters.karateLogLevel }}
修改后生效命令:
mvn clean test -DlogLevel=${{ parameters.karateLogLevel }}
修改后流水线运行时传入的日志级别参数可正常被logback识别,替换配置文件中的${logLevel}占位符生效。
内容的提问来源于stack exchange,提问作者Maddy
相关产品推荐
相关产品推荐

