The below code is an example of providing some debug information by both email and logging the information to a file in “/var/logs/”.
define("CURRENT_FILE", "thisfile.php");
define("LOG_FILE_LOCATION", "/var/log/");
function log_file($error1, $error2, $file) {
$ok = true;
// $file = "logile.txt";
if ($fh = fopen($file, 'a')) {
$ok = true;
$conf = "$error1 - $error2\n";
} else {
$ok = false;
$conf = "";
}
if (fwrite($fh, $conf)) {
$ok = true;
} else {
$ok = false;
}
if (fclose($fh)) {
$ok = true;
} else {
$ok = false;
}
}
function error_notifications($error) {
/*
Usage - print error_notifications("" . CURRENT_FILE . " - FUNCTION-NAME - ERROR\n");
*/
print "$error";
$datetime = date('d-m-y--H-i');
$name = "System Error Notification";
$email = "root@something";
$text = "
=========================
System Error Notification
=========================
An Error has occurd with the system, the error is listed below:-\n
Date And Time Stamp - $datetime\n
$error
Regards,
The System.
";
$sendthisto = "user@domain.com, root";
if (mail($sendthisto, 'System Error Notification', $text, 'From: ' . $name . ' ')) {
print "Error Notification Email Sent\n";
log_file("$datetime - Email Sent", "$error", "".LOG_FILE_LOCATION."Custom_Error_Notifications.txt");
} else {
print "can not email, writing error to log file\n";
if (log_file("$datetime - Email Failed", "$error", "".LOG_FILE_LOCATION."Custom_Error_Notifications.txt") == true ) {
Print "completed ok";
} else {
print "$datetime - BIG FUCKING PROBLEMS WITH SYSTEM LOGGING!!!";
}
}
}