diff options
author | Christian Hesse <mail@eworm.de> | 2021-03-15 00:48:38 +0100 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2021-03-15 12:40:14 +0100 |
commit | baa096fe03440725f8b72912daa3df7c30a6dbc0 (patch) | |
tree | 4868627cac52be7322387b4c60e25685352d74ea | |
parent | d00f18dc8c94bbeff2e3fd981ae4b9e29e570152 (diff) |
log-forward: filter e-mail error on log forwarding in script...
... and update the filter in global configuration.
-rw-r--r-- | global-config | 8 | ||||
-rw-r--r-- | log-forward | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/global-config b/global-config index f713b5c..107ef19 100644 --- a/global-config +++ b/global-config @@ -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. diff --git a/log-forward b/log-forward index 4332c2a..2866e2f 100644 --- a/log-forward +++ b/log-forward @@ -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={ |