- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/update_client_partner.php
- Класс: CUpdateClientPartner
- Вызов: CUpdateClientPartner::AddMessage2Log
static function AddMessage2Log($sText, $sErrorCode = "")
{
$MAX_LOG_SIZE = 1000000;
$READ_PSIZE = 8000;
$LOG_FILE = $_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/updater_partner.log";
$LOG_FILE_TMP = $_SERVER["DOCUMENT_ROOT"].US_SHARED_KERNEL_PATH."/modules/updater_partner_tmp1.log";
if ($sText <> '' || $sErrorCode <> '')
{
$old_abort_status = ignore_user_abort(true);
if (file_exists($LOG_FILE))
{
$log_size = @filesize($LOG_FILE);
$log_size = intval($log_size);
if ($log_size > $MAX_LOG_SIZE)
{
if (!($fp = @fopen($LOG_FILE, "rb")))
{
ignore_user_abort($old_abort_status);
return false;
}
if (!($fp1 = @fopen($LOG_FILE_TMP, "wb")))
{
ignore_user_abort($old_abort_status);
return false;
}
$iSeekLen = intval($log_size-$MAX_LOG_SIZE/2.0);
fseek($fp, $iSeekLen);
do
{
$data = fread($fp, $READ_PSIZE);
if ($data == '')
break;
@fwrite($fp1, $data);
}
while(true);
@fclose($fp);
@fclose($fp1);
@copy($LOG_FILE_TMP, $LOG_FILE);
@unlink($LOG_FILE_TMP);
}
clearstatcache();
}
if ($fp = @fopen($LOG_FILE, "ab+"))
{
if (flock($fp, LOCK_EX))
{
@fwrite($fp, date("Y-m-d H:i:s")." - ".$sErrorCode." - ".$sText."n");
@fflush($fp);
@flock($fp, LOCK_UN);
@fclose($fp);
}
}
ignore_user_abort($old_abort_status);
}
}