Как использовать Log4j2 xml Rewrite appender для изменения LogEvent перед его входом в файл
Я хочу использовать Rewrite appender в моем файле log4j2.xml, чтобы перед регистрацией я мог изменять журналы. Я не получаю много помощи от Google. Согласно документам log4j2, Rewrite - это интерфейс с методом перезаписи, а MapRewritePolicy - класс реализации, когда я запускаю его, я вижу, как создается файл web3.log, но не видны какие-либо изменения в содержимом журнала. Я видел исходный код MapRewritePolicy и создал локальный класс реализации как MapRewritePolicyImpl.java в своем проекте и поместил некоторый System.out, чтобы увидеть, как поток кода входит в этот класс из файла log4j2.xml. Я изменил свой log4j2.xml для использования MapRewritePolicyImpl.java, но поток кода не входит в мой класс MapRewritePolicyImpl.java.
<Rewrite name="rewrite" >
<Appender-Ref ref="web3" />
<MapRewritePolicyImpl">
<KeyValuePair key="creditCard" value="new12345"/>
</MapRewritePolicyImpl>
</Rewrite>
<Configuration monitorInterval="5" status="debug" strict="true">
<Appenders>
<RollingFile name="web3" fileName="../logs/web3.log"
filePattern="${sys:catalina.home}/logs/${date:yyyy-MM-dd}/web3-%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout
pattern="%d{dd/MM/yyyy HH:mm:ss,SSS} [%X{cartID}] [%X{sessionId}] [%p] [%t] [%c] (%F:%L) - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
</RollingFile>
<Rewrite name="rewrite" >
<Appender-Ref ref="web3" />
<MapRewritePolicy">
<KeyValuePair key="creditCard" value="new12345"/>
</MapRewritePolicy>
</Rewrite>
</Appenders>
<Loggers>
<Logger name="com.virginamerica" level="info" additivity="false">
<!-- <Appender-Ref ref="web3" /> -->
<Appender-Ref ref="rewrite"/>
</Logger>
</Loggers>
</Configuration>