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!');