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/wbs24.ozonapinew/lib/ |
Upload File : |
<?php namespace Wbs24\Ozonapinew; use Bitrix\Main\SystemException; trait Exception { protected $maxMegaBytes = 50; protected $logsDir = '/bitrix/tools/wbs24.ozonapinew/logs/'; public function exceptionHandler($exception, $dontDie = false) { $this->lastError = $exception->getFile()."(".$exception->getLine()."): ".$exception->getMessage()."\r\n". $exception->getTraceAsString() ; $this->createReport('exception_log.txt', $this->lastError); if (!$dontDie) die(); } public function createReport($fileName, $report) { $prefix = trim(strtolower(str_replace('\\', '_', __NAMESPACE__)), '_'); $text = date('Y.m.d H:i:s')."\r\n"; $text .= print_r($report, true)."\r\n\r\n"; $fullFileName = $prefix.'_'.$fileName; $fullLogsDir = $this->getFullLogsDir(); $this->rotateReport( $fullLogsDir, $fullFileName ); $handle = @fopen($fullLogsDir . $fullFileName, 'a'); if ($handle) { fwrite($handle, $text); fclose($handle); } } protected function rotateReport($dir, $fileName) { if (!file_exists($dir.$fileName)) return false; $bytes = filesize($dir.$fileName); $maxBytes = $this->convertMegaBytesToBytes(); if ($bytes >= $maxBytes) { $this->renameFile($dir, $fileName); } } protected function convertMegaBytesToBytes() { return $this->maxMegaBytes * 1024 * 1024; } protected function renameFile($dir, $fileName) { rename($dir.$fileName, $dir.'old_'.$fileName); } protected function getFullLogsDir() { return $_SERVER['DOCUMENT_ROOT'] . $this->logsDir; } }