Como usar o log4j2 xml Rewrite appender para modificar o LogEvent antes de fazer logon no arquivo
Quero usar o Rewrite appender no meu arquivo log4j2.xml para que, antes do log, eu possa modificar os logs. Não recebi muita ajuda do google. Conforme os documentos do log4j2, Rewrite é uma interface com método de reescrita e MapRewritePolicy é classe de implementação. Quando executo isso, consigo ver meu arquivo web3.log gerando, mas não vendo nenhuma modificação no conteúdo do log. Eu vi o código fonte MapRewritePolicy e criei a classe de implementação local como MapRewritePolicyImpl.java no meu projeto e coloquei System.out para ver o fluxo de código entrar nessa classe a partir do arquivo log4j2.xml. Modifiquei meu log4j2.xml para usar o MapRewritePolicyImpl.java, mas o fluxo de código não está entrando na minha classe 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>