feature #10534 [SwiftMailer] [MonologBundle] send error log mails from CLI (arodiss)

This PR was merged into the 2.5-dev branch.

Discussion
----------

[SwiftMailer] [MonologBundle] send error log mails from CLI

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

Given I have symfony2 application with Monolog configured to send mail on error logs.
When I have exception thrown from CLI task
Then I should receive error mail

However this is not true because `Monolog/SwiftMailerHandler` is doing force flush only on `kernel.terminate`, but not on `console.terminate`

This PR fixes issue together with https://github.com/symfony/MonologBundle/pull/73

Commits
-------

9bb602f added explicit swiftmailer flush after ConsoleEvents::TERMINATE
This commit is contained in:
Fabien Potencier 2014-03-26 15:23:10 +01:00
commit 790ba4cb3d

View File

@ -12,6 +12,7 @@
namespace Symfony\Bridge\Monolog\Handler;
use Monolog\Handler\SwiftMailerHandler as BaseSwiftMailerHandler;
use Symfony\Component\Console\Event\ConsoleTerminateEvent;
use Symfony\Component\HttpKernel\Event\PostResponseEvent;
/**
@ -43,6 +44,16 @@ class SwiftMailerHandler extends BaseSwiftMailerHandler
$this->instantFlush = true;
}
/**
* After the CLI application has been terminated we will always flush messages
*
* @param ConsoleTerminateEvent $event
*/
public function onCliTerminate(ConsoleTerminateEvent $event)
{
$this->instantFlush = true;
}
/**
* {@inheritdoc}
*/