emiherber/lambdasi-logs

允许生成我们应用程序的日志文件

v2.0.0 2024-09-30 03:43 UTC

This package is auto-updated.

Last update: 2024-09-30 03:50:13 UTC


README

允许生成我们应用程序的日志文件。

安装

composer require emiherber/lambdasi-logs

需求

  • PHP >= 8.2
  • 必须声明以下常量 __DR__,它指示将创建 lamlogs 文件夹的位置。

使用方法

$log = new Logger(); $log->log(string $level, string $message, array $context = []);

  • $level

    • 必需
    • 指示应生成日志的级别。
  • $message

    • 必需
    • 附加描述,参考生成日志的文件或函数。
  • $context

    • 可选
    • 可以传递一个包含日志产生的数据的数组。
  • 环境变量:要使用 alert 函数并通知 Telegram 聊天。需要创建以下内容

    • TOKEN:发送通知的 bot 的 token。
    • CHATID:可以是用户、群组或频道的 id。
    • TITULOSISTEMA:生成通知的应用程序。如果同一个 bot 用于多个应用程序,则理想。

示例

require __DIR__.'/vendor/autoload.php';
use Emiherber\LambdasiLogs\Logger;
use Emiherber\LambdasiLogs\LogLevel;

define('__DR__', $_SERVER['DOCUMENT_ROOT'].'/lambdasi-logs/');

define('TOKEN', 'token_bot');
define('CHATID', 'id_destinatario_mensajes');
define('TITULOSISTEMA', 'nombre_aplicación');

try {
  test();
  echo 'log generado <br>';

} catch (\Throwable $th) {
  echo 'error al generar el log <br>';
  throw $th;
}

function test() {
  try {

    $valores = [
      'clave' => 'valor',
      'clave2' => 'valor2'
    ];

    throw new Exception('prueba2');

  } catch (\Throwable $th) {
    $log = new Logger();
    $log->log(LogLevel::DEBUG, 'test', compact('th'));
    $log->log(LogLevel::ERROR, 'test', ['th' => new Error('Error')]);
    $log->log(LogLevel::WARNING, $th->getMessage(), ['th' => new Exception('Exception')]);
    $log->warning($th->getMessage(), ['th' => new Exception('Exception')]);
    $log->alert($th->getMessage());
  }
}

注意

对于 LogLevel::ALERT 的日志,将尝试向您的 Telegram 聊天发送消息。如果使用 $log->alert($th->getMessage(),[]);$log->alert($th->getMessage());,如果使用 $log->log(LogLevel::ALERT, 'test', compact('th'));,则只会生成文件而不会发送警报。

日志位置

日志保存在 lamlogs 文件夹中。

├── proyecto
│   ├── lamlogs

许可证

此库根据 The Unlicense 许可证分发。您可以在 LICENSE 文件中找到许可证的完整文本。

作者

Emiliano Herber