phpmailer/apix-log-phpmailer

APIx Log 的 PHPMailer 记录器

v2.0.0 2017-09-04 09:02 UTC

This package is auto-updated.

Last update: 2024-09-12 04:59:10 UTC


README

这是一个为 Apix/Log PSR-3 记录器扩展,它通过 PHPMailer 使用电子邮件发送日志消息。

主仓库位于 github,而 composer 包位于 packagist

Apix Log 由 Franck Cassedanne (@frqnck) 编写。此扩展由 Marcus Bointon (@Synchro) 提供,并作为 PHPmailer 组织 的一部分发布,采用 BSD 许可证(尽管请注意,PHPMailer 本身使用 LGPL 许可证)。

安装

使用 composer 安装记录器

composer require phpmailer/apix-log-phpmailer

您至少需要 PHP 5.5。

使用方法

创建一个 Apix PhpMailer Log 实例,将预配置的 PHPMailer 实例传递给构造函数。此实例将用于后续的所有消息。

默认情况下,记录器为每个接收到的日志消息发送一封电子邮件,这可能非常低效,因此请调用 $logger->setDeferred(true) 来累积日志消息,并在 __destruct 上一次性发送。

我们建议您在您的 PHPMailer 实例中启用异常(通过将 true 传递给构造函数),否则您可能不会被告知关于发送日志消息的问题。

示例

use PHPMailer\PHPMailer\PHPMailer;
// Create a PHPMailer instance with exceptions enabled
$mailer = new PHPMailer(true);
$mailer->addAddress('[email protected]', 'Log Mailbox');
$mailer->setFrom('[email protected]', 'My App');
$mailer->isSMTP();
$mailer->SMTPAuth = true;
$mailer->Host = 'tls://mail.example.com:587';
$mailer->Username = 'user';
$mailer->Password = 'pass';
$mailer->isHTML(false);
$mailer->Subject = 'Error log';

$logger = new Apix\Logger\PhpMailer($mailer);
$logger->setDeferred(true);
$logger->info('Log me!');
$logger->error('Log me too!');