in agent/php/ElasticApm/Impl/Tracer.php [290:336]
public function onPhpError(PhpErrorData $phpErrorData, ?Throwable $relatedThrowable, int $numberOfStackFramesToSkip): void
{
($loggerProxy = $this->logger->ifDebugLevelEnabled(__LINE__, __FUNCTION__))
&& $loggerProxy->log(
'Entered',
[
'phpErrorData' => $phpErrorData,
'relatedThrowable' => $relatedThrowable,
]
);
if ((error_reporting() & $phpErrorData->type) === 0) {
($loggerProxy = $this->logger->ifDebugLevelEnabled(__LINE__, __FUNCTION__))
&& $loggerProxy->log(
'Not creating error event because error_reporting() does not include its type',
['type' => $phpErrorData->type, 'error_reporting()' => error_reporting()]
);
return;
}
($loggerProxy = $this->logger->ifDebugLevelEnabled(__LINE__, __FUNCTION__))
&& $loggerProxy->log(
'Creating error event because error_reporting() includes its type...',
['type' => $phpErrorData->type, 'error_reporting()' => error_reporting()]
);
$customErrorData = new CustomErrorData();
$customErrorData->code = $phpErrorData->type;
if (
($phpErrorData->message === null)
|| ($phpErrorData->fileName === null)
|| TextUtil::contains($phpErrorData->message, $phpErrorData->fileName)
) {
$customErrorData->message = $phpErrorData->message;
} else {
$messageSuffix = ' in ' . $phpErrorData->fileName;
if ($phpErrorData->lineNumber !== null) {
$messageSuffix .= ':' . $phpErrorData->lineNumber;
}
$customErrorData->message = $phpErrorData->message . $messageSuffix;
}
if ($phpErrorData->type !== null) {
$customErrorData->type = PhpErrorUtil::getTypeName($phpErrorData->type);
}
$this->createError($customErrorData, $phpErrorData, $relatedThrowable, $numberOfStackFramesToSkip + 1);
}