# Модуль логирования Seaslog

# Введение

Seaslog — эффективный, быстрый и стабильный модуль ведения журнала для PHP.

Журнал, который обычно представляет собой запись работы системы, программного обеспечения и приложения. Анализ журнала может помочь пользователям понять работу системы, программного обеспечения и ситуацию с приложениями. Если журнал приложения достаточно обширен, модуль также может анализировать поведение, тип, региональное распределение и другую дополнительную информацию при предыдущем использовании. Журнал приложений также указывает на несколько уровней одновременно, вы можете легко получить анализ состояния работоспособности приложения, своевременно найти проблемы и быстро определить местоположение, а также решить проблему, исправить ошибку.

Встроенная в PHP функция syslog error_log — мощна и высокопроизводительна, но из-за различных дефектов (у error_log нет уровня ошибок, нет фиксированного формата, syslog независимо от модуля и смешивается с системным журналом) снижает гибкость и не соответствует требованиям приложения.

Хорошей новость в том, что существует ряд сторонних библиотек классов журналов, которые создали для устранения дефектов наподобие log4php, plog, monolog (конечно, для ведения журнала есть много приложений).

Итак, существуют ли библиотеки для ведения журнала, которые отвечают следующим требованиям:

- Модули, классификация
- Простая конфигурация (лучше без конфигурации)
- Чёткий формат журнала и простота понимания
- Простое приложение и хорошая производительность

Модуль Seaslog отвечает каждому из этих требований.

Что предусмотрено в настоящее время:

- В PHP-проекте быстро записывает спецификацию журнала
- Настраивается каталог и модуль журнала по умолчанию
- Настраивается каталог журнала и текущая конфигурация записи
- Предварительный анализ системы раннего предупреждения
- Эффективный буфер журнала и удобная отладка буфера
- Следует спецификации интерфейса журнала PSR-3
- Автоматически записывает информацию об ошибках
- Автоматически записывает ненормальную информацию
- Поддерживает подключения к TCP-порту, отправляет по стандарту RFC5424
- Поддерживает подключения порта UDP, отправляет по стандарту RFC5424
- Поддерживает дифференцированные запросы с помощью RequestId
- Поддерживает настройку шаблонов журнала

Подробнее рассказывает » документация к SeasLog на сайте GitHub.

- Установка и настройка
  - Требования
  - Установка
  - Настройка во время выполнения
  - Типы ресурсов
- Предопределённые константы
- Примеры
- Функции Seaslog
  - seaslog_get_author — Получает автора SeasLog
  - seaslog_get_version — Получает версию SeasLog
- SeasLog — Класс SeasLog
  - SeasLog::alert — Записывает информацию уровня "alert" в журнал
  - SeasLog::analyzerCount — Получает количество журналов по уровню, log_path и key_word
  - SeasLog::analyzerDetail — Получает детализацию журнала по уровню, log_path, key_word, start, limit, order
  - SeasLog::closeLoggerStream — Вручную освобождает поток от регистратора
  - SeasLog::__construct — Описание
  - SeasLog::critical — Записывает информацию уровня "critical" в журнал
  - SeasLog::debug — Записывает информацию уровня "debug" в журнал
  - SeasLog::__destruct — Описание
  - SeasLog::emergency — Записывает информацию уровня "emergency" в журнал
  - SeasLog::error — Записывает информацию уровня "error" в журнал
  - SeasLog::flushBuffer — Очищает буфер логов, делает дамп в файл приложения или отправляет на удалённый API с помощью tcp/udp
  - SeasLog::getBasePath — Получает базовый путь SeasLog
  - SeasLog::getBuffer — Получает буфер логов в памяти в виде массива
  - SeasLog::getBufferEnabled — Определяет, включён ли буфер
  - SeasLog::getDatetimeFormat — Получает стиль формата даты и времени SeasLog
  - SeasLog::getLastLogger — Получает последний путь регистратора SeasLog
  - SeasLog::getRequestID — Получает дифференцированные запросы SeasLog request_id
  - SeasLog::getRequestVariable — Получает переменную запроса SeasLog
  - SeasLog::info — Записывает информацию уровня "info" в журнал
  - SeasLog::log — Общая функция записи в журнал
  - SeasLog::notice — Записывает информацию уровня "notice" в журнал
  - SeasLog::setBasePath — Устанавливает базовый путь SeasLog
  - SeasLog::setDatetimeFormat — Устанавливает стиль формата даты и времени SeasLog
  - SeasLog::setLogger — Устанавливает имя регистратора SeasLog
  - SeasLog::setRequestID — Устанавливает дифференцированные запросы SeasLog request_id
  - SeasLog::setRequestVariable — Устанавливает переменную запроса SeasLog вручную
  - SeasLog::warning — Записывает информацию уровня "warning" в журнал

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open