1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-07 21:56:31 +02:00

Fix NewRelicHandler error when using LineFormatter

This commit is contained in:
Michael Moussa
2016-04-20 11:31:39 -04:00
committed by Jordi Boggiano
parent 79f9492b74
commit 09c4cca32b
2 changed files with 24 additions and 12 deletions

View File

@@ -91,23 +91,27 @@ class NewRelicHandler extends AbstractProcessingHandler
newrelic_notice_error($record['message']); newrelic_notice_error($record['message']);
} }
foreach ($record['formatted']['context'] as $key => $parameter) { if (isset($record['formatted']['context'])) {
if (is_array($parameter) && $this->explodeArrays) { foreach ($record['formatted']['context'] as $key => $parameter) {
foreach ($parameter as $paramKey => $paramValue) { if (is_array($parameter) && $this->explodeArrays) {
$this->setNewRelicParameter('context_' . $key . '_' . $paramKey, $paramValue); foreach ($parameter as $paramKey => $paramValue) {
$this->setNewRelicParameter('context_' . $key . '_' . $paramKey, $paramValue);
}
} else {
$this->setNewRelicParameter('context_' . $key, $parameter);
} }
} else {
$this->setNewRelicParameter('context_' . $key, $parameter);
} }
} }
foreach ($record['formatted']['extra'] as $key => $parameter) { if (isset($record['formatted']['extra'])) {
if (is_array($parameter) && $this->explodeArrays) { foreach ($record['formatted']['extra'] as $key => $parameter) {
foreach ($parameter as $paramKey => $paramValue) { if (is_array($parameter) && $this->explodeArrays) {
$this->setNewRelicParameter('extra_' . $key . '_' . $paramKey, $paramValue); foreach ($parameter as $paramKey => $paramValue) {
$this->setNewRelicParameter('extra_' . $key . '_' . $paramKey, $paramValue);
}
} else {
$this->setNewRelicParameter('extra_' . $key, $parameter);
} }
} else {
$this->setNewRelicParameter('extra_' . $key, $parameter);
} }
} }
} }

View File

@@ -11,6 +11,7 @@
namespace Monolog\Handler; namespace Monolog\Handler;
use Monolog\Formatter\LineFormatter;
use Monolog\TestCase; use Monolog\TestCase;
use Monolog\Logger; use Monolog\Logger;
@@ -104,6 +105,13 @@ class NewRelicHandlerTest extends TestCase
$this->assertEquals($expected, self::$customParameters); $this->assertEquals($expected, self::$customParameters);
} }
public function testThehandlerCanHandleTheRecordsFormattedUsingTheLineFormatter()
{
$handler = new StubNewRelicHandler();
$handler->setFormatter(new LineFormatter());
$handler->handle($this->getRecord(Logger::ERROR));
}
public function testTheAppNameIsNullByDefault() public function testTheAppNameIsNullByDefault()
{ {
$handler = new StubNewRelicHandler(); $handler = new StubNewRelicHandler();