Основной сайт хуманэмулятор.рф  |  Демо  |  Купить  |  API  |  Wiki



System / logger



addLogToSQLite

addLogToSQLite($logLevelCode,$message,$dataString,$caller); - if (!LogLevel::tryFrom($logLevelCode))

throw new InvalidArgumentException("Invalid log level code: $logLevelCode");
$logLevelName = LogLevel::getName($logLevelCode);
// Get LogLevel title
$loglevelTitle = match ($this->localizationCode) {
'ru' => $this->logLevelNameLocDictionaryRu[$logLevelName],
'tr' => $this->logLevelNameLocDictionaryTr[$logLevelName],
default => $logLevelName,
};
/** DateTime now formatted */
$dateTimeFormattedString = date($this->dateTimeFormat);
/** Is warning message */
$isWarningText = $logLevelCode === LogLevel::WARNING;
/** Is error or critical message? */
$isErrorText = $logLevelCode === LogLevel::ERROR
// Check error message on text
if (!$isErrorText) {
$messageToLower = mb_strtolower($message);
if (mb_strpos($messageToLower, 'error') !== false)
$isErrorText = true;
else if (mb_strpos($messageToLower, "ошибка") !== false)
$isErrorText = true;
else if (mb_strpos($messageToLower, "hata") !== false)
$isErrorText = true;
}
/** Is debug message? */
$isDebugText = $logLevelCode === LogLevel::DEBUG;
// Log file extension
$logFileExt = pathinfo($this->logFilePath, PATHINFO_EXTENSION);
// Многострочная лог строка?
$hasNewLinesFlag = false;
if (preg_match('/\R/', $message) === 1)
$hasNewLinesFlag = true;
/** Text to log */
$text = '';
if ($logFileExt === "html") {
$text = htmlspecialchars($message, ENT_QUOTES
if ($hasNewLinesFlag)
$text = '<pre>' . $text . "</pre>\n";
$text = $text . '<pre>' . $dataString . "</pre>";
} else {
$text = $message . ' ' . $dataString;
}
$text = "[$dateTimeFormattedString][$loglevelTitle][$caller] $text";
if ($logFileExt === "html") {
// Set text bold
$text = $this->setFormatTagsForHtmlFormat($text, $isBold, $isErrorText, $isDebugText, $isWarningText);
// Set paragraph
$text = '<p>' . $text . '</p>';
}
$text = $text . PHP_EOL;
// Create dir if not exists
$logFolderPath = dirname($this->logFilePath);
if (!is_dir($logFolderPath)) {
mkdir($logFolderPath, 0755, true);
}
// append line
$stream = fopen($this->logFilePath, 'a');
$result = fwrite($stream, $text);
fclose($stream);
// Append text to file
return $result;
}
/**
Append log message to SQL Light DB

Функция на вход принимает параметры:

  • $logLevelCode – Log level title
  • $message – Log message
  • $dataString – Data object string
  • $caller – Caller name

    После выполнения функции возвращаемое значение будет равно одному из двух :
  • true – успешно
  • false – не удалось

    (примеры не найдены)

    =============================================
    logger    Объекты    DOM  System  Vision  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
    .