Puedo pensar en dos grandes razones:
Primero, las bases de datos son más lentas que los archivos de texto cuando se trata simplemente de agregar información a un archivo. Con una base de datos, debe establecer una conexión, transmitir datos a través de la red, almacenarlos en una estructura indexada, etcétera. Con un archivo, solo necesita escribir el error en el disco local.
En segundo lugar, a veces las cosas que desea registrar pertenecen a la base de datos que está rota. Si el disco local está roto, tiene problemas mayores que tratar de generar archivos de registro. Pero puede registrar las interrupciones de la base de datos incluso cuando todo lo demás funciona.
Habiendo dicho eso, hay muchas situaciones en las que la información que quiero registrar es relevante solo mientras la aplicación funciona correctamente y cuando ya tengo una conexión a la base de datos. En esos casos, inicio sesión directamente en MySQL.