dadapas / log

实现 psr-3 日志接口的常见库

2.0 2022-06-11 16:13 UTC

This package is auto-updated.

Last update: 2024-09-15 20:01:41 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

本仓库实现了与 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,有关更多详细信息,请点击 此处