Перейти к содержанию

Класс: LogGenerator

Краткое содержание:

Центральный генератор логов: файлы, Telegram и база данных.


Свойства


Методы


Подробности

  • Путь: 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 — Момент записи лога.