emiherber / lambdasi-logs
允许生成我们应用程序的日志文件
v2.0.0
2024-09-30 03:43 UTC
Requires
- php: >=8.2
Requires (Dev)
- symfony/dotenv: ^7.1
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 文件中找到许可证的完整文本。