首页 > 解决方案 > Logback XML 中动态文件名的屏蔽日志输出值

问题描述

我需要在日志输出中屏蔽一个值,该值用于为我的 Jenkins 作业生成 Cucumber 报告。这似乎是可能的唯一方法是修改 repo 的 logback.xml 文件。

我试过了:

<appender name="REPORT" class="ch.qos.logback.core.FileAppender">
    <immediateFlush>false</immediateFlush>
    <file>target/surefire-reports/*.html</file>
    <encoder>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %replace(%msg){'(?&lt;=api-key:).*', 'xxxx'}%n</pattern>
    </encoder>
</appender>

但我得到一个不正确的文件名错误:

16:58:44,485 |-ERROR in ch.qos.logback.core.FileAppender[REPORT] - openFile(target/surefire-reports/*.html,true) call failed. java.io.FileNotFoundException: target\surefire-reports\*.html (The filename, directory name, or volume label syntax is incorrect)
    at java.io.FileNotFoundException: target\surefire-reports\*.html (The filename, directory name, or volume label syntax is incorrect)

标签: xmljenkins-pluginslogbackkarate

解决方案


这是路线图上的内容:https ://github.com/intuit/karate/projects/3#card-22529225

*.json现在,您可以尝试对文件夹中的所有文件(并删除*.xml文件)运行蛮力正则表达式替换target/surefire-reports。确保在生成 cucumber-html-reports 的例程运行之前执行此操作。


推荐阅读