屏蔽 Logback 中动态文件名的日志输出值 XML
Masking Log Output Value for Dynamic File Name in Logback XML
我需要在日志输出中屏蔽一个值,该值用于为我的 Jenkins 作业生成 Cucumber 报告。这似乎是唯一可能的方法是修改回购的 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){'(?<=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)
当然,只要我一问,我就明白了...
<pattern>%-5level - %replace(%msg){'(?<=api-key:).*', 'xxxx'}%n</pattern>
输出:
1 > api-key:xxxx
从 logback 文档中获取格式:
https://logback.qos.ch/manual/layouts.html#cwOptions
<pattern>%-5level - %replace(%msg){'\d{14,16}', 'XXXX'}%n</pattern>
正则表达式是我用来屏蔽 Jenkins 日志输出的正则表达式,将左尖括号替换为 html <
因为它在 xml 文件中。
这是路线图上的内容:https://github.com/intuit/karate/projects/3#card-22529225
现在,您可以尝试 运行在 target/surefire-reports
中的所有 *.json
文件上使用 brute-force 正则表达式替换(并删除 *.xml
文件) =] 文件夹。确保在 之前执行此操作 生成 cucumber-html-reports 的例程是 运行。
我需要在日志输出中屏蔽一个值,该值用于为我的 Jenkins 作业生成 Cucumber 报告。这似乎是唯一可能的方法是修改回购的 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){'(?<=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)
当然,只要我一问,我就明白了...
<pattern>%-5level - %replace(%msg){'(?<=api-key:).*', 'xxxx'}%n</pattern>
输出:
1 > api-key:xxxx
从 logback 文档中获取格式:
https://logback.qos.ch/manual/layouts.html#cwOptions
<pattern>%-5level - %replace(%msg){'\d{14,16}', 'XXXX'}%n</pattern>
正则表达式是我用来屏蔽 Jenkins 日志输出的正则表达式,将左尖括号替换为 html <
因为它在 xml 文件中。
这是路线图上的内容:https://github.com/intuit/karate/projects/3#card-22529225
现在,您可以尝试 运行在 target/surefire-reports
中的所有 *.json
文件上使用 brute-force 正则表达式替换(并删除 *.xml
文件) =] 文件夹。确保在 之前执行此操作 生成 cucumber-html-reports 的例程是 运行。