galancev/console-log

控制台日志组件

v2.0 2020-01-28 20:56 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:19 UTC


README

一个简单的类,用于在控制台输出各种信息,主要是通过crontab运行的各种机器人。

允许缓冲输出直到发生错误,这可以在出现问题的情况下只通过crontab接收电子邮件。允许在控制台输出颜色标记,这些标记在输出到文件时不可见。允许在每个事件旁边输出日期和时间。允许转储变量。

初始化

通常情况下,类的初始化很简单

$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() {});