Класс: LogGenerator
Документация по плагину класс: loggenerator для DLE.
Краткое содержание:
Центральный генератор логов: файлы, Telegram и база данных.
Свойства
- private $telegram_bot
- private $telegram_type
Методы
- public init()
- public for()
- public isDebugEnabled()
- public debug()
- public dispatchLog()
- public resolveCallerContext()
- public isLoggingEnabled()
- public setLogs()
- public setTelegramSend()
- public isTelegramSend()
- public setTelegramChannel()
- public telegramChannel()
- public setTelegramBot()
- public telegramBot()
- public setTelegramType()
- public telegramType()
- public allowedTypes()
- public allowedType()
- public setDbLogs()
- public isDbLogs()
- private logLevelForType()
- private createLogDirectory()
- private errorNotificationText()
- private preventCurlFile()
- private persistDebugLog()
- private encodeDebugPayload()
- private writeFileLog()
- private fileLog()
- private telegramLog()
- private dbLog()
- private normalizeLogValue()
- private formatMessage()
- private eventTime()
Подробности
- Путь:
devcraft/src/classes/Logging/LogGenerator.php
Детали
Свойства
$telegram_bot
Центральный генератор логов: файлы, Telegram и база данных.
$telegram_type
Типы логов, допустимые для отправки в Telegram.
Методы
init()
Инициализирует настройки логирования из конфигурации DevCraft.
С версии: 173.3.0
for()
Создаёт контекстный логгер для указанного модуля.
С версии: 200.4.0
Параметры:
$module— Имя модуля или сервиса.
Возвращает: ContextLogger — Экземпляр логгера с привязанным контекстом.
isDebugEnabled()
Проверяет, включён ли режим отладочного логирования.
С версии: 200.4.0
Возвращает: bool — true при активной сессии dc_debug или настройке debug.
debug()
Записывает отладочное сообщение в error_log и опционально в каналы логирования.
С версии: 200.4.0
Параметры:
$channel— Имя канала или модуля.$message— Текст или структура сообщения.
dispatchLog()
Генерирует лог при ошибке или другой значимой ситуации.
С версии: 170.2.10
Параметры:
$plugin— Название плагина или модуля.$functionName— Имя функции или метода-источника.$message— Сообщение о событии.$type— Тип события (error, info, warn и т. д.).
resolveCallerContext()
Определяет имя вызывающего метода по стеку вызовов.
С версии: 200.4.0
Параметры:
$skipClasses— Классы, которые следует пропустить.
Возвращает: string — Строка вида ClassName::method или file::closure.
isLoggingEnabled()
Проверяет, включено ли логирование в файлы и каналы.
С версии: 173.3.0
Возвращает: bool — true, если логирование активно.
setLogs()
Устанавливает состояние логирования.
С версии: 173.3.0
Параметры:
$logs— Индикатор включения логирования.
setTelegramSend()
Устанавливает флаг отправки логов через Telegram.
С версии: 173.3.0
Параметры:
$telegram_send— true — включить отправку.
isTelegramSend()
Проверяет, включена ли отправка логов через Telegram.
С версии: 173.3.0
Возвращает: bool — true при активной отправке и включённом логировании.
setTelegramChannel()
Устанавливает идентификатор Telegram-канала.
С версии: 173.3.0
Параметры:
$telegram_channel— ID, имя канала или null.
telegramChannel()
Возвращает идентификатор Telegram-канала.
С версии: 173.3.0
Возвращает: int|string|null — ID или имя канала.
setTelegramBot()
Устанавливает токен Telegram-бота.
С версии: 173.3.0
Параметры:
$telegram_bot— API-токен или null.
telegramBot()
Возвращает токен Telegram-бота.
С версии: 173.3.0
Возвращает: string — Токен бота или пустая строка.
setTelegramType()
Устанавливает фильтр типов логов для Telegram.
С версии: 173.3.0
Параметры:
$telegram_type— Строка типов через пробел или null.
telegramType()
Возвращает фильтр типов логов для Telegram.
С версии: 173.3.0
Возвращает: string — Строка типов; по умолчанию all.
allowedTypes()
Возвращает массив допустимых типов сообщений с локализованными описаниями.
С версии: 173.3.0
Возвращает: array<string, — string> Ключ типа => описание.
allowedType()
Возвращает локализованное описание типа лога.
С версии: 173.3.0
Параметры:
$type— Ключ типа из allowedTypes().
Возвращает: string — Описание типа или исходный ключ.
setDbLogs()
Устанавливает логирование операций в базу данных.
С версии: 173.3.0
Параметры:
$db_logs— true — сохранять логи в БД.
isDbLogs()
Проверяет, включено ли логирование в базу данных.
С версии: 173.3.0
Возвращает: bool — true, если логи пишутся в БД.
logLevelForType()
Сопоставляет строковый тип лога с уровнем Analog.
С версии: 200.4.0
Параметры:
$type— Тип события.
Возвращает: int — Константа уровня Analog.
createLogDirectory()
Создаёт директорию для логов, если она ещё не существует.
С версии: 173.3.0
Параметры:
$path— Абсолютный путь к каталогу.
Возвращает: bool — true при успешном создании или существующей директории.
errorNotificationText()
Формирует текстовое уведомление об ошибке создания каталога логов.
С версии: 173.3.0
Параметры:
$service— Название модуля.$functionName— Имя функции.$type— Тип события.$dateTime— Дата и время.$message— Сообщение об ошибке.
Возвращает: string — Многострочный текст уведомления.
preventCurlFile()
Рекурсивно заменяет объекты CURLFile на массивы для сериализации.
С версии: 173.3.0
Параметры:
$message— Исходное значение сообщения.
Возвращает: mixed — Значение без CURLFile-объектов.
persistDebugLog()
Сохраняет отладочный лог в файлы, Telegram и БД при включённых каналах.
С версии: 200.4.0
Параметры:
$plugin— Имя модуля.$functionName— Контекст вызывающего метода.$message— Полезная нагрузка отладки.
encodeDebugPayload()
Кодирует отладочную полезную нагрузку в JSON для error_log.
С версии: 200.4.0
Параметры:
$message— Текст сообщения.
Возвращает: string — JSON-строка или строковое представление message.
writeFileLog()
Записывает сериализованное сообщение в файл через Analog.
С версии: 200.4.0
Параметры:
$file— Путь к лог-файлу.$message— Данные сообщения.$level— Уровень Analog.
fileLog()
Логирует сообщение в файл при включённом логировании.
С версии: 173.3.0
Параметры:
$file— Путь к лог-файлу.$message— Данные сообщения.$level— Уровень Analog.
telegramLog()
Отправляет лог-сообщение в Telegram при включённых настройках.
С версии: 173.3.0
Параметры:
$type— Тип события.
dbLog()
Сохраняет лог в базу данных через LogRecord.
С версии: 173.3.0
Параметры:
$type— Тип события.
normalizeLogValue()
Приводит значение лога к строке: объекты — в массив, массивы — в JSON.
С версии: 200.4.0
Параметры:
$value— Исходное значение.
Возвращает: string — Строковое представление.
formatMessage()
Форматирует сообщение лога для отображения в HTML или БД.
С версии: 173.3.0
Параметры:
$message— Строка или массив данных.
Возвращает: string — Отформатированное сообщение.
eventTime()
Возвращает текущее время события логирования.
С версии: 200.4.0
Возвращает: DateTimeImmutable — Момент записи лога.