Mi vengono in mente due grandi ragioni:
Innanzitutto, i database sono più lenti dei file di testo quando si tratta semplicemente di aggiungere informazioni a un file. Con un database, devi stabilire una connessione, trasmettere dati sulla rete, archiviarli in una struttura indicizzata, ecc. Con un file, devi solo scrivere l'errore sul disco locale.
In secondo luogo, a volte le cose che vuoi registrare riguardano il database danneggiato. Se il disco locale è rotto, hai problemi più grandi rispetto al tentativo di generare file di registro. Ma puoi registrare le interruzioni del database anche quando tutto il resto funziona.
Detto questo, ci sono molte situazioni in cui le informazioni che voglio registrare sono rilevanti solo mentre l'applicazione funziona correttamente e quando ho già una connessione al database. In questi casi, accedo direttamente a MySQL.