On {Free,Net}BSD[1][2] you get Bl*cklistd which is a much better approach than parsing log files.
[1] https://man.freebsd.org/cgi/man.cgi?query=blacklistd&sektion...
[1] https://man.freebsd.org/cgi/man.cgi?query=blacklistd&sektion...
And yes, DoS is a very good example, if your application writes so much log's (during a attack) and fail2ban has to analyze them during that, then machine could very well DoS itself, the blacklistd approach is much simpler and straightforward BUT (and that's a big one) the applications has to support it.