dadapas / log
实现 psr-3 日志接口的常见库
2.0
2022-06-11 16:13 UTC
Requires
- php: >=7.2
- league/flysystem: ^2.4
- phpmailer/phpmailer: ^6.6
- psr/log: ^1.1
Requires (Dev)
- phpunit/phpunit: ^9.5
Provides
- psr/log: 1.1
README
本仓库实现了与 PSR-3 相关的接口。
安装
composer require dadapas/log
使用方法
如果需要日志记录器,您可以使用该接口如下
<?php use Dadapas\Log\{FileSystemAdapter, Log as Logger}; $localAdapter = new \League\Flysystem\Local\LocalFilesystemAdapter( // Determine log directory __DIR__.'/path/to/logs' ); // The FilesystemOperator $filesystem = new \League\Flysystem\Filesystem($localAdapter); $filesysAdapter = new FileSystemAdapter($filesystem); $logger = new Logger(); $logger->setAdapter($filesysAdapter);
将日志发送到电子邮件将如下所示
// ... use Dadapas\Log\PHPMailerAdapter; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; $mail = new PHPMailer(true); // $mail->SMTPDebug = SMTP::DEBUG_SERVER; // $mail->isSMTP(); // $mail->Host = 'smtp.example.com'; // $mail->SMTPAuth = true; // ... $adapter = new PHPMailerAdapter($mail); // ... $logger->setAdapter($adapter);
将日志写入文件
// ... try { throw new Exception("An exception has been thrown."); } catch (Exception $e) { // Log to the the error message to file $logger->error($e->getMessage(), $e->getTrace()); } catch (\PHPMailer\PHPMailer\Exception $e) { echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}"; }
然后,您可以选择该接口的其中一个实现来获取日志记录器。
如果您想实现该接口,可以引入此包并在您的代码中实现 Psr\Log\LoggerInterface
。请阅读 规范文本 获取详细信息。
测试
要进行测试,只需
composer test
许可证
许可证为MIT,有关更多详细信息,请点击 此处