Класс: LogGenerator¶
Краткое содержание:¶
Центральный генератор логов: файлы, 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 — Момент записи лога.