da41b94c/php-console-logger

Мини-класс Console для PHP 7.3+ (CLI/cron): ANSI-цвета, STDERR, NO_COLOR, Key: Value.

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/da41b94c/php-console-logger

v1.0.0 2026-01-21 07:12 UTC

This package is auto-updated.

Last update: 2026-01-21 07:21:46 UTC


README

Packagist Version CI

Мини-класс Console для PHP 7.3+ (CLI/cron): аккуратный вывод в терминал, цвета через ANSI, ошибки в STDERR, отключение цветов через NO_COLOR, выравнивание Key: Value.

Что решаем

Когда пишешь cron/CLI-скрипты, обычно хочется:

  • чтобы статусы были читаемыми ([OK], [WARN], [ERR])
  • чтобы ошибки шли в STDERR (удобно для логов и мониторинга)

Этот класс закрывает эти задачи без зависимостей.

Возможности

  • Методы: Info(), Success(), Warn(), Error(), Debug()
  • Ключ-значение: Kv("id", "777") с выравниванием
  • Цвета через ANSI, только если:
    • вывод идёт в терминал (TTY)
    • TERM не dumb
    • не задано NO_COLOR
  • Ошибки в STDERR (Error() печатает в STDERR)
  • CleanText() чистит пользовательский текст от ANSI/CSI и управляющих символов

Установка

Через Composer (рекомендуется)

composer require da41b94c/php-console-logger

Дальше достаточно подключить автозагрузчик Composer (если у тебя фреймворк — скорее всего уже подключен):

require_once __DIR__ . '/vendor/autoload.php';

Ручная установка

Скопируй src/Console.php в проект и подключи:

require_once __DIR__ . '/src/Console.php';

Пример использования

В проекте с Composer

require_once __DIR__ . '/vendor/autoload.php';

Console::Info("Started");
Console::Kv("id", "777");
Console::Success("OK");
Console::Warn("id is empty");
Console::Error("API failed: 429 Too Many Requests");

Вручную (без Composer)

require_once __DIR__ . '/src/Console.php';

Console::Info("Started");
Console::Kv("id", "777");
Console::Success("OK");
Console::Warn("id is empty");
Console::Error("API failed: 429 Too Many Requests");

Отключение цветов

Если нужно принудительно отключить цвета (например, для логов):

NO_COLOR=1 php examples/demo.php