If I've understood you correctly, then you were already on the right track.
Update the Log item to collect all relevant strings:
On condition that the patterns 'string1', 'string2' and 'string3' cannot be a sub string of something unrelated, the item will extract and collect the respective matching string parts.
Then you can count the respective 'strings' individually in a trigger expression:
This trigger fires if string1 occurs more than 10 times or strings2 more than 90 times or string3 more than 50 times during the past five minutes.
Update the Log item to collect all relevant strings:
Code:
log[path/to/file,(string1|string2|string3),,,skip,\1]
Then you can count the respective 'strings' individually in a trigger expression:
Code:
{log[path/to/file,(string1|string2|string3),,,skip,\1].count(5m,string1,eq)} > 10 or {log[path/to/file,(string1|string2|string3),,,skip,\1].count(5m,string2,eq)} > 90 or {log[path/to/file,(string1|string2|string3),,,skip,\1].count(5m,string3,eq)} > 50
Comment