- Модуль: xmpp
- Путь к файлу: ~/bitrix/modules/xmpp/classes/server.php
- Класс: CXMPPServer
- Вызов: CXMPPServer::WriteToLog
public function WriteToLog($txt, $level)
{
if ($this->logLevel > $level)
return;
if (time() - $this->startPeriodTimeTruncate > 600)
{
if ($this->logFile)
fclose($this->logFile);
$this->logFile = null;
if (file_exists($_SERVER["DOCUMENT_ROOT"].$this->logFileName))
{
$logSize = @filesize($_SERVER["DOCUMENT_ROOT"].$this->logFileName);
$logSize = intval($logSize);
if ($logSize > $this->logMaxSize)
{
if (($fp = @fopen($_SERVER["DOCUMENT_ROOT"].$this->logFileName, "rb"))
&& ($fp1 = @fopen($_SERVER["DOCUMENT_ROOT"].$this->logFileName."_", "wb")))
{
$iSeekLen = intval($logSize - $this->logMaxSize / 2.0);
fseek($fp, $iSeekLen);
@fwrite($fp1, "Truncated ".Date("Y-m-d H:i:s")."n---------------------------------n");
do
{
$data = fread($fp, 8192);
if ($data == '')
break;
@fwrite($fp1, $data);
}
while (true);
@fclose($fp);
@fclose($fp1);
@copy($_SERVER["DOCUMENT_ROOT"].$this->logFileName."_", $_SERVER["DOCUMENT_ROOT"].$this->logFileName);
@unlink($_SERVER["DOCUMENT_ROOT"].$this->logFileName."_");
}
}
ClearStatCache();
}
$this->startPeriodTimeTruncate = time();
}
if (!$this->logFile || $this->logFile == null)
$this->logFile = fopen($_SERVER["DOCUMENT_ROOT"].$this->logFileName, "a");
if (!$this->logFile)
{
echo "Can't write to logn---------------------------------n";
return;
}
fwrite($this->logFile, date("Y-m-d H:i:s")."n".$txt."n---------------------------------n");
fflush($this->logFile);
if ($level > 4)
echo $txt."n---------------------------------n";
}