From 072d34947321fff4afa4e7df059874c3523eaccd Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 20 Jan 2023 11:15:55 +0100 Subject: log-forward: cache the result of $LogForwardFilterLogForwarding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Looks like the function is called for every message to match otherwise. 😳 --- log-forward | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'log-forward') diff --git a/log-forward b/log-forward index 73620e8..96cb257 100644 --- a/log-forward +++ b/log-forward @@ -47,8 +47,9 @@ $ScriptLock $0; :local MessageVal; :local MessageDups ({}); +:local LogForwardFilterLogForwardingCached [ $EitherOr [ $LogForwardFilterLogForwarding ] ("\$^") ]; :foreach Message in=[ /log/find where (!(message="") and \ - !(message~[ $EitherOr [ $LogForwardFilterLogForwarding ] ("\$^") ]) and \ + !(message~$LogForwardFilterLogForwardingCached) and \ !(topics~$LogForwardFilter) and !(message~$LogForwardFilterMessage)) or \ topics~$LogForwardInclude or message~$LogForwardIncludeMessage ] do={ :set MessageVal [ /log/get $Message ]; -- cgit v1.2.3-54-g00ecf