Инструменты пользователя

Инструменты сайта


Боковая панель



ru:objects:system:logger:sqlite:addlogtosqlite

addLogToSQLite

Каноническая страница: https://humanemulator.net/objects/SYSTEM/logger/sqlite/addLogToSQLite.php

← Objects


Справка Human Emulator logger: addLogToSQLite

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 – не удалось

ru/objects/system/logger/sqlite/addlogtosqlite.txt · Последнее изменение: 2026/08/05 23:17 (внешнее изменение)