Acho que existem mecanismos melhores para isso, sobretudo no caso de RuntimeException.
Eu, geralmente, registro um uncaughtExceptionHandler, que loga as exceções de runtime não pegas automaticamente. Veja a classe Thread para entender como registrar esse Handler.
As demais exceções, geralmente o ideal é fazer o tratamento mesmo. Seja se livrando da causa, ou jogando para a classe de cima. Se realmente ninguém puder tratar (o que acho muitíssimo raro), aí sim, o negócio é logar.
Finalmente, fazer isso vai encher seus arquivos de logs de exceções que podem muito bem ser tratadas pelas classes superiores e não constituir exatamente um problema na sua aplicação. Isso dificulta a analise dos arquivos de log gerados e, algo que era para ser para te ajudar, acaba se tornando inútil ou te atrapalhando.
Isso é apenas um anti-pattern se for feito nas camadas erradas da sua aplicação. Quase sempre você vai querer logar exceptions nas camadas de integração, onde elas vão provavelmente ser convertidas em algo mais útil, uma página de erro, por exemplo. Em um sistema web esta é a camada do controler, nas actions to teu sistema.
Depende louds, as exceptions de negócio com certeza devem ser tratadas pelas actions, mas as de infraestrutura não fazem muito sentido. O que a Action pode fazer com um SQLException, um NullPointerException ou um ClassCastException?