Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/socialnetwork/lib/Log/ |
Upload File : |
<?php declare(strict_types=1); namespace Bitrix\Socialnetwork\Log; use Bitrix\Main\Error; use Bitrix\Main\ErrorCollection; use Throwable; class Logger { public static function log(mixed $data, string $marker = 'DEBUG_SOCIALNETWORK'): void { $log = new Log($marker); if ($data instanceof Throwable) { $collectedData = static::collectThrowable($data); } elseif ($data instanceof Error) { $collectedData = static::collectError($data); } elseif ($data instanceof ErrorCollection) { $collectedData = static::collectErrorCollection($data); } else { $collectedData = $data; } $log->collect($collectedData); } private static function collectThrowable(Throwable $throwable): array { return [ 'type' => 'throwable', 'message' => $throwable->getMessage(), 'file' => $throwable->getFile(), 'line' => $throwable->getLine(), 'backtrace' => $throwable->getTraceAsString(), ]; } private static function collectError(Error $error): array { return [ 'type' => 'error', 'message' => $error->getMessage(), 'code' => $error->getCode(), 'customData' => $error->getCustomData(), ]; } private static function collectErrorCollection(ErrorCollection $errorCollection): array { $errors = []; foreach ($errorCollection as $error) { $errors[] = static::collectError($error); } return [ 'type' => 'errorCollection', 'errors' => $errors, ]; } }