galancev / console-log
Console log component
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-29 05:36:19 UTC
README
Простой класс для вывода в консоль всякой информации, преимущественно разными роботами, запускаемыми через кронтаб.
Позволяет буферизировать вывод пока не произошло никаких ошибок, что даёт возможность получать письма по кронтабу только в случае проблем. Позволяет в консоль выводить цветовые метки, которые не будут видны в случае вывода в файл. Позволяет выводить дату и время около каждого события. Позволяет дампить переменные.
Инициализация
Инициализация в общем случае класса простая:
$log = new ConsoleLog();
Вывести текст:
Вывести обычный текст в консоли стандартным шрифтом можно таким методом:
$log->text('Вывести текст');
Результат:
[13-11-2018 12:44:39] Вывести текст
Вывести ошибку:
Ошибка будет выведена с меткой красного цвета, если это не будет отключено в настройках класса.
$log->error('Ошибка!');
Результат:
[13-11-2018 12:47:10] ERROR Ошибка!
Вывести варнинг:
Варнинг будет выведен с меткой жёлтого цвета, если это не будет отключено в настройках класса.
$log->warning('Внимание!');
Результат:
[13-11-2018 12:47:10] WARNING Внимание!
Вывести сообщение об успехе:
Сообщение об успехе будет выдедено с меткой зелёного цвета, если это не будет отключено в настройках класса.
$log->success('Успех :)');
Результат:
[13-11-2018 12:47:10] SUCCESS Успех :)
Вывести дамп переменной:
Дамп будет выведен с меткой белого цвета, если это не будет отключено в настройках класса.
$log->dump($log);
Результат:
DUMP
Component\ConsoleLog::__set_state(array(
'useTimestamps' => true,
'timeFormat' => 'd-m-Y H:i:s',
'echoLabels' => true,
'output' => '',
'outputForErrors' => '',
'outputToConsole' => true,
'outputOnlyIfError' => false,
'outputToBuffer' => false,
))
Настройки
Отключить вывод цветных меток:
$log->setShowLabels(false);
Отключить вывод временных меток:
$log->setUseTimestamps(false);
Изменить формат временных меток:
$log->setTimeFormat('d-m-Y H:i:s');
Отключить вывод в консоль (дампы будут выводиться по-прежнему):
$log->setOutputToConsole(false);
Отключить вывод в буфер. Это ускоряет работу робота в случае огромного количества вывода в консоль и не тратит память на буферизацию вывода.
$log->setOutputToBuffer(false);
Выводить лог, только если в процессе были ошибки. Работает только если не отключена буферизация вывода.
$log->setOutputOnlyIfError(true);
Очистить буфер:
$log->clear();
Получить буфер:
$log->get();
Сохранить буфер в файл (параметры: имя файла и добавлять ли буфер в конец файла):
$log->save('filename.txt', true);
Установить коллбек для добавления записи в лог (например для дальнешнего вывода в файл или базу):
$log->setLogCallback(function() {});