Download the PHP package andrey-tech/graylogger-php without Composer
On this page you can find all versions of the php package andrey-tech/graylogger-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download andrey-tech/graylogger-php
More information about andrey-tech/graylogger-php
Files in andrey-tech/graylogger-php
Package graylogger-php
Short Description Простой PSR-3 логгер в Graylog в формате GELF версии 1.1 по протоколу TCP
License MIT
Homepage https://github.com/andrey-tech/graylogger-php
Informations about the package graylogger-php
GrayLogger PHP
Простой PSR-3 логгер в Graylog в формате GELF версии 1.1 по протоколу TCP.
Содержание
- Требования
- Установка
- Класс
GrayLogger
- Методы класса
- Примеры
- Тестирование
- Функциональное тестирование
- Анализ кода
- Автор
- Лицензия
Требования
- PHP >= 5.4;
- Произвольный автозагрузчик классов, реализующий стандарт PSR-4, и необходимый когда Composer не используется.
Установка
Установка через composer:
Класс GrayLogger
Класс \GrayLogger\GrayLogger
реализует интерфейс \Psr\Log\LoggerInterface
, согласно стандарту PSR-4,
и обеспечивает логирование в Graylog
в формате GELF
версии 1.1
по протоколу TCP.
При возникновении ошибок может выбрасываться исключение класса \GrayLogger\GrayLoggerException
(по умолчанию отключено, см. метод класса setThrowException()
).
Методы класса
Класс \GrayLogger\GrayLogger
имеет следующие публичные методы:
Метод | Описание | По умолчанию |
---|---|---|
setServer(string $server): void |
Устанавливает адрес сервера Graylog | localhost |
setPort(string $port): void |
Устанавливает TCP-порт сервера Graylog | 12201 |
setConnectTimeout(float $connectTimeout): void |
Устанавливает таймаут соединения с сервером Graylog в секундах | 10.0 |
setHost(string $host): void |
Устанавливает имя хоста для логирования | gethostname() |
setThrowExceptions(bool $throwExceptions): void |
Устанавливает флаг - выбрасывать ли исключение класса GrayLoggerException при возникновении ошибки: true - выбрасывать, false - не выбрасывать |
false |
setContext(array $context): void |
Устанавливает массив сопутствующих данных в кодировке UTF-8, передаваемых в дополнительных полях (additional field) GELF во всех последующих лог-сообщениях | |
addContext(array $context): void |
Добавляет новые элементы в массив сопутствующих данных в кодировке UTF-8, передаваемых в дополнительных полях (additional field) GELF во всех последующих лог-сообщениях | |
getLastMessage(): ?string |
Возвращает последнее сформированной сообщение GELF | |
getLastErrorMessage(): ?string |
Возвращает последнее сообщение об ошибке (исключении) | |
getUniqId(int $length = 7) :string |
Возвращает уникальный буквенно-цифровой идентификатор, связанный с объектом класса GrayLogger и необходимый для поиска в Graylog всех лог-сообщений, сформированных в рамках одного запуска PHP-скрипта1 |
|
static instance(): self |
Возвращает единственный объект класса GrayLogger (синглтон) |
|
Методы PSR-4 2 | ||
emergency(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем EMERGENCY | |
alert(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем ALERT | |
critical(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем CRITICAL | |
error(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем ERROR | |
warning(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем WARNING | |
notice(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем NOTICE | |
info(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем INFO | |
debug(string\|object $message, array $context = []): void |
Выполняет логирование с уровнем DEBUG | |
log(int $level, string\|object $message, array $context = []): void |
Выполняет логирование с уровнем, заданным параметром $level 3 |
Примечания.
1) Строка идентификатора удовлетворяет регулярному выражению /^[a-z0-9]+$/. Допустимая длина идентификатора: 0-36 символов, по умолчанию - 7 символов.
2) В параметре $message
передается сообщение, которое должно быть строкой в кодировке UTF-8 или объектом, реализующим метод __toString()
.
Сообщение может содержать плейсхолдеры в виде {foo}
, где foo
будет заменено на значение элемента массива сопутствующих данных, передаваемых в параметре $context
с ключом foo
.
Сообщение передается в поле short_message
GELF.
Параметр $context
может содержать массив сопутствующих данных в кодировке UTF-8, передаваемых в дополнительных полях (additional field) GELF.
3) Возможные значения параметра $level
задаются публичными константами класса:
GrayLogger::EMERGENCY
, GrayLogger::ALERT
, GrayLogger::CRITICAL
, GrayLogger::ERROR
,
GrayLogger::WARNING
, GrayLogger::NOTICE
, GrayLogger::INFO
, GrayLogger::DEBUG
.
Примеры
Файлы примеров расположены в каталоге examples.
Пример использования класса GrayLogger
с перехватом исключений класса GrayLoggerException
:
Пример использования класса GrayLogger
и метода instance()
с запретом выбрасывать исключения класса GrayLoggerException
:
Тестирование
Тестирование выполняется с помощью библиотеки PHPUnit версии 4 для обеспечения совместимости с PHP 5.4.
Функциональное тестирование
Классы функциональных тестов расположены в каталоге tests/Functional.
Функциональное тестирование реализовано при помощи класса \Test\Functional\SocketServerStub
,
который эмулирует сервер GrayLog и принимает входящие запросы по адресу tcp://localhost:12201
.
Для функционального тестирования разработано 46 тестов PHPUnit, запускаемых командой:
Анализ кода
Для анализа нарушений стандарта кодирования PSR-2 используется PHP CodeSniffer, запускаемый командой:
Автор
© 2021 andrey-tech
Лицензия
Данная библиотека распространяется на условиях лицензии MIT.