I use DBMS_JOB to run a package every 5 mins to check the alert log. This uses UTL_FILE to read the alert log and UTL_SMTP to email me.

And it works too!