[ticket/9079] Always log backtrace to error log when logging errors.

PHPBB3-9079
This commit is contained in:
Oleg Pudeyev 2011-12-24 01:24:09 -05:00
parent d9fef488af
commit b6999237f4

View file

@ -3853,18 +3853,23 @@ function msg_handler($errno, $msg_text, $errfile, $errline)
} }
} }
$log_text = $msg_text;
$backtrace = get_backtrace();
if ($backtrace)
{
$log_text .= '<br /><br />BACKTRACE<br />' . $backtrace;
}
if (defined('IN_INSTALL') || defined('DEBUG_EXTRA') || isset($auth) && $auth->acl_get('a_')) if (defined('IN_INSTALL') || defined('DEBUG_EXTRA') || isset($auth) && $auth->acl_get('a_'))
{ {
$backtrace = get_backtrace(); $msg_text = $log_text;
$msg_text .= ($backtrace) ? '<br /><br />BACKTRACE<br />' . $backtrace : '';
$msg_text .= '<br />';
} }
if ((defined('DEBUG') || defined('IN_CRON') || defined('IMAGE_OUTPUT')) && isset($db)) if ((defined('DEBUG') || defined('IN_CRON') || defined('IMAGE_OUTPUT')) && isset($db))
{ {
// let's avoid loops // let's avoid loops
$db->sql_return_on_error(true); $db->sql_return_on_error(true);
add_log('critical', 'LOG_GENERAL_ERROR', $msg_title, $msg_text); add_log('critical', 'LOG_GENERAL_ERROR', $msg_title, $log_text);
$db->sql_return_on_error(false); $db->sql_return_on_error(false);
} }