log-forward: filter e-mail error on log forwarding in script...

... and update the filter in global configuration.
This commit is contained in:
Christian Hesse 2021-03-15 00:48:38 +01:00
parent d00f18dc8c
commit baa096fe03
2 changed files with 12 additions and 4 deletions

View file

@ -55,9 +55,11 @@
# This defines a filter on log topics not to be forwarded.
:global LogForwardFilter "(debug|info)";
# ... and the same for log message text.
:global LogForwardFilterMessage "(^\$|^Error sending e-mail .* Log Forwarding)";
#:global LogForwardFilterMessage "(^\$|message text|...)";
# ... and the same for log message text. Regular expressions are supported.
# Do *NOT* set an empty string - that will filter everything!
:global LogForwardFilterMessage [];
#:global LogForwardFilterMessage "message text";
#:global LogForwardFilterMessage "(message text|another text|...)";
# Specify an address to enable auto update to version assumed safe.
# The configured channel (bugfix, current, release-candidate) is appended.

View file

@ -17,8 +17,10 @@
:global LogForwardRateLimit;
:global NotificationsWithSymbols;
:global CharacterReplace;
:global IfThenElse;
:global LogPrintExit2;
:global QuotedPrintable;
:global ScriptLock;
:global SendNotification;
:global SymbolForNotification;
@ -43,7 +45,11 @@ $WaitFullyConnected;
:local MessageVal;
:local MessageDups [ :toarray "" ];
:foreach Message in=[ / log find where !(topics~$LogForwardFilter) !(message~$LogForwardFilterMessage) ] do={
:local LogForwardFilterLogForwarding [ $CharacterReplace ("^Error sending e-mail <" . \
[ $QuotedPrintable ("\\[" . $Identity . "\\] " . [ $SymbolForNotification "warning-sign" ] . \
"Log Forwarding") ] . ">:") ("\?") ("\\\?") ];
:foreach Message in=[ / log find where !(topics~$LogForwardFilter) !(message="") \
!(message~$LogForwardFilterLogForwarding) !(message~$LogForwardFilterMessage) ] do={
:set MessageVal [ / log get $Message ];
:if ($LogForwardLast = ($MessageVal->".id")) do={