Você pode fazer isso usando um substituto da propriedade .
Coloque no seu rsyslog.conf
ou similar uma linha definindo um modelo que seja o formato desejado da nova mensagem, e use-o na ação quando você corresponder à linha de entrada. Por exemplo,
$template myedit,"Packet: %msg:R,ERE,1,FIELD:Packet: .*?(SRC=.*LEN=[0-9]+).*--end%\n"
if ($msg contains "Packet: ") then {
action(type="omfile" file="/var/log/myedit.log" template="myedit")
}
O modelo diz que a variável de modelo myedit
é a string incluindo a propriedade msg
substituída por uma correspondência regex (R), estendida (ERE), captura de grupo 1 (1), (e se não houver correspondência, mantenha o CAMPO original). A regex real é a parte Packet: .*?(SRC=.*LEN=[0-9]+).*
. O --end
é uma parte obrigatória da sequência %...:R,...--end%
. Adicione uma nova linha final, pois substituiremos a mensagem inteira por este modelo.
As linhas a seguir são o teste usual do Rainer Script para as linhas que você deseja editar e onde colocar o resultado.