1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-07 05:36:45 +02:00

Add a RollbarHandler::flush() and make it close automatically on shutdown, fixes #864, closes #865

This commit is contained in:
Jordi Boggiano
2016-11-13 20:25:52 +01:00
parent cc8a013611
commit 371b8ebb1b

View File

@@ -58,6 +58,8 @@ class RollbarHandler extends AbstractProcessingHandler
*/
private $hasRecords = false;
protected $initialized = false;
/**
* @param RollbarNotifier $rollbarNotifier RollbarNotifier object constructed with valid token
* @param int $level The minimum logging level at which this handler will be triggered
@@ -75,6 +77,12 @@ class RollbarHandler extends AbstractProcessingHandler
*/
protected function write(array $record)
{
if (!$this->initialized) {
// __destructor() doesn't get called on Fatal errors
register_shutdown_function(array($this, 'close'));
$this->initialized = true;
}
$context = $record['context'];
$payload = array();
if (isset($context['payload'])) {
@@ -105,14 +113,19 @@ class RollbarHandler extends AbstractProcessingHandler
$this->hasRecords = true;
}
/**
* {@inheritdoc}
*/
public function close()
public function flush()
{
if ($this->hasRecords) {
$this->rollbarNotifier->flush();
$this->hasRecords = false;
}
}
/**
* {@inheritdoc}
*/
public function close()
{
$this->flush();
}
}