tail -f a file for 10 minutes / until N matching lines?
roaima rightly points you at the timeout
command, and head
actually terminates after it has read the desired number of lines, so I would hope that with
timeout 600s tail -f ‹logfile› | ‹filter› | head -n 1000
you'd get there.