Changeset View
Changeset View
Standalone View
Standalone View
src/error/PhutilErrorHandler.php
Show First 20 Lines • Show All 175 Lines • ▼ Show 20 Lines | /* -( Internals )---------------------------------------------------------- */ | ||||
* @param string Error message. | * @param string Error message. | ||||
* @param string File where the error occurred. | * @param string File where the error occurred. | ||||
* @param int Line on which the error occurred. | * @param int Line on which the error occurred. | ||||
* @param wild Error context information. | * @param wild Error context information. | ||||
* @return void | * @return void | ||||
* @task internal | * @task internal | ||||
*/ | */ | ||||
public static function handleError($num, $str, $file, $line, $ctx = null) { | public static function handleError($num, $str, $file, $line, $ctx = null) { | ||||
foreach (self::$traps as $trap) { | foreach (self::$traps as $trap) { | ||||
$trap->addError($num, $str, $file, $line); | $trap->addError($num, $str, $file, $line); | ||||
} | } | ||||
if ((error_reporting() & $num) == 0) { | if ((error_reporting() & $num) == 0) { | ||||
// Respect the use of "@" to silence warnings: if this error was | // Respect the use of "@" to silence warnings: if this error was | ||||
// emitted from a context where "@" was in effect, the | // emitted from a context where "@" was in effect, the | ||||
// value returned by error_reporting() will be 0. This is the | // value returned by error_reporting() will be 0. This is the | ||||
▲ Show 20 Lines • Show All 180 Lines • ▼ Show 20 Lines | /* -( Internals )---------------------------------------------------------- */ | ||||
* | * | ||||
* @param const Event type constant. | * @param const Event type constant. | ||||
* @param wild Event value. | * @param wild Event value. | ||||
* @param dict Event metadata. | * @param dict Event metadata. | ||||
* @return void | * @return void | ||||
* @task internal | * @task internal | ||||
*/ | */ | ||||
public static function dispatchErrorMessage($event, $value, $metadata) { | public static function dispatchErrorMessage($event, $value, $metadata) { | ||||
$timestamp = strftime('%Y-%m-%d %H:%M:%S'); | $timestamp = date('Y-m-d H:i:s'); | ||||
switch ($event) { | switch ($event) { | ||||
case self::ERROR: | case self::ERROR: | ||||
$default_message = sprintf( | $default_message = sprintf( | ||||
'[%s] ERROR %d: %s at [%s:%d]', | '[%s] ERROR %d: %s at [%s:%d]', | ||||
$timestamp, | $timestamp, | ||||
$metadata['error_code'], | $metadata['error_code'], | ||||
$value, | $value, | ||||
Show All 33 Lines | switch ($event) { | ||||
$timestamp, | $timestamp, | ||||
PhutilReadableSerializer::printShort($value), | PhutilReadableSerializer::printShort($value), | ||||
$metadata['file'], | $metadata['file'], | ||||
$metadata['line']); | $metadata['line']); | ||||
$metadata['default_message'] = $default_message; | $metadata['default_message'] = $default_message; | ||||
error_log($default_message); | error_log($default_message); | ||||
break; | break; | ||||
case self::DEPRECATED: | |||||
$default_message = sprintf( | |||||
'[%s] DEPRECATED: %s is deprecated; %s', | |||||
$timestamp, | |||||
$value, | |||||
$metadata['why']); | |||||
$metadata['default_message'] = $default_message; | |||||
error_log($default_message); | |||||
break; | |||||
default: | default: | ||||
error_log(pht('Unknown event %s', $event)); | error_log(pht('Unknown event %s', $event)); | ||||
break; | break; | ||||
} | } | ||||
if (self::$errorListener) { | if (self::$errorListener) { | ||||
static $handling_error; | static $handling_error; | ||||
if ($handling_error) { | if ($handling_error) { | ||||
▲ Show 20 Lines • Show All 174 Lines • Show Last 20 Lines |
Content licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA) unless otherwise noted; code licensed under Apache 2.0 or other open source licenses. · CC BY-SA 4.0 · Apache 2.0