如何使用php monolog

时间:2014-11-05 14:58:43

标签: php swiftmailer monolog

我听说过很多关于monolog(https://github.com/Seldaek/monolog)&试图在我们的应用程序中使用它。但是,无法无花果。如何使用它。不知道它是我只能得到它的任何文件或者它根本没有文件。

我们要在DB&中记录所有错误以及在生成错误时发送有关错误的电子邮件通知。对于发送电子邮件,我们使用的是Swiftmailer(swiftmailer.org)。

我可以从Github链接运行此示例代码,

<?php
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));

// add records to the log
$log->addWarning('Foo');
$log->addError('Bar');

但无法理解如何在DB&amp;任何其他电子邮件库。

1 个答案:

答案 0 :(得分:1)

您自己发布了一个示例。而不是StreamHandler使用monolog提供的一个或多个其他处理程序。

您必须查看处理程序的代码以查看它们需要哪些依赖项。查看Monolog目录,您将找到Handler类。代码是最可靠的文档。

<?php

use Monolog\Logger;
use Monolog\Handler\SwiftMailerHandler;

use Swift_Mailer;
// ... more dependencies you need

// create your Swift_Mailer and Swift_Message instances

$handlers = [
    new SwiftMailerHandler($swiftMailer, $swiftMessage),
    // add more handler you need
];

$log = new Logger('name', $handlers);


$log->warning('Foo');
$log->error('Bar');

您必须为SwiftMailerHandler创建Swift_Mailer和Swift_Message实例。您可以在Logger构造函数中添加一组处理程序,而不是pushHandler。

Swift_Message实例用于每次邮件正文都替换邮件的每条日志邮件。

我只能建议你阅读monolog代码,以获取缺少进一步文档的信息。