Ama razumem ja vas, razumite i vi mene...
Vidi:
Imaš neki kod koji radi nešto (program) i u kome nekad dođe do neke situacije koja treba da se loguje.
Sa druge strane imaš logging API koji prihvata log poruke i nad njima radi određeni skup operacija (šalje na mejl, piše u bazu itd).
Besmisleno je posebno hendlovati greške različite prirode - jednostavno sve se šalju logging API-ju. Ako logging API hoće da pošalje error report na adresu iz baze, on to pokuša i normalno pukne, bez obzira šta stoji u toj grešci. Zato bih ja jedino promenio funkciju fatal_error u nešto kao:
PHP kôd:
function fatal_error($msg)
{
try {
$email = execute query ("SELECT admin_email FROM config_table");
...
}
catch {
$email = 'admin@nesto.com';
}
try {
mail ($email, 'greska', $msg);
}
try {
write_to_log_file($msg);
}
die('Došlo je do greške, email je poslat administratoru...')
}
Kapiš?