|
|
|
|
@ -2,6 +2,8 @@ |
|
|
|
|
|
|
|
|
|
declare(strict_types=1); |
|
|
|
|
|
|
|
|
|
namespace bs_tts; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author Robert Strutts <Robert@TryingToScale.com> |
|
|
|
|
* @copyright Copyright (c) 2022, Robert Strutts. |
|
|
|
|
@ -9,11 +11,14 @@ declare(strict_types=1); |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
define('WORD_WRAP_CHRS', 80); // Letters before Line Wrap on Errors |
|
|
|
|
$root = \bs_tts\site_helper::get_root(); |
|
|
|
|
if (!defined('TTS_PROJECT_LOGS_DIR')) { |
|
|
|
|
if (! empty($root)) { |
|
|
|
|
define('TTS_PROJECT_LOGS_DIR', $root . 'logs'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function get_log_root_dir(): void { |
|
|
|
|
$root = \bs_tts\site_helper::get_root(); |
|
|
|
|
if (!defined('TTS_PROJECT_LOGS_DIR')) { |
|
|
|
|
if (! empty($root)) { |
|
|
|
|
define('TTS_PROJECT_LOGS_DIR', $root . 'logs'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -54,7 +59,7 @@ function tts_mini_view(string $file, string $msg): string { |
|
|
|
|
|
|
|
|
|
$saved_ob_level = ob_get_level(); |
|
|
|
|
|
|
|
|
|
$mini = new stdClass(); |
|
|
|
|
$mini = new \stdClass(); |
|
|
|
|
$mini->page_output = $msg; |
|
|
|
|
if (\bs_tts\requires::secure_include($file, 'on_error', $mini) === false) { |
|
|
|
|
\bs_tts\requires::secure_include("views/on_error/" . $file, 'tts', $mini); |
|
|
|
|
@ -99,6 +104,8 @@ function tts_email_error($a_error): bool { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
get_log_root_dir(); |
|
|
|
|
|
|
|
|
|
if (!defined("TTS_PROJECT_LOGS_DIR")) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
@ -202,7 +209,7 @@ function tts_json_error_handler($data) { |
|
|
|
|
|
|
|
|
|
$data = wordwrap($data, WORD_WRAP_CHRS, "<br>\n"); |
|
|
|
|
try { |
|
|
|
|
$exists = \main_tts\registry::get('di')->exists('log'); |
|
|
|
|
$exists = \main_tts\registry::get('di')?->exists('log'); |
|
|
|
|
if ($exists) { |
|
|
|
|
$logs = \main_tts\registry::get('di')->get_service('log', ['all_errors']); |
|
|
|
|
$logs->write($data); |
|
|
|
|
@ -277,16 +284,16 @@ function tts_exception_handler(\Throwable $exception) { |
|
|
|
|
exit(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
set_exception_handler('tts_exception_handler'); |
|
|
|
|
set_exception_handler(__NAMESPACE__.'\tts_exception_handler'); |
|
|
|
|
|
|
|
|
|
if (\main_tts\is_live()) { |
|
|
|
|
error_reporting(E_ALL ^ E_NOTICE); |
|
|
|
|
set_error_handler('tts_global_error_handler', E_ALL ^ (E_NOTICE | E_USER_NOTICE)); |
|
|
|
|
set_error_handler(__NAMESPACE__.'\tts_global_error_handler', E_ALL ^ (E_NOTICE | E_USER_NOTICE)); |
|
|
|
|
} else { |
|
|
|
|
error_reporting(E_ALL); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
register_shutdown_function('tts_custom_error_checker'); |
|
|
|
|
register_shutdown_function(__NAMESPACE__.'\tts_custom_error_checker'); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Custom Error Checked called on Script Shutdown. |
|
|
|
|
|