mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-09 06:36:46 +02:00
Merge pull request #631 from prgTW/feat/raven-extra-parameters
RavenHandler supports extra parameters
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.5",
|
||||
"graylog2/gelf-php": "~1.0",
|
||||
"raven/raven": "~0.8",
|
||||
"raven/raven": "~0.11",
|
||||
"ruflin/elastica": ">=0.90 <3.0",
|
||||
"doctrine/couchdb": "~1.0@dev",
|
||||
"aws/aws-sdk-php": "^2.4.9",
|
||||
|
@@ -145,13 +145,13 @@ class RavenHandler extends AbstractProcessingHandler
|
||||
} else {
|
||||
$options['logger'] = $record['channel'];
|
||||
}
|
||||
if (!empty($record['extra']['checksum'])) {
|
||||
$options['checksum'] = $record['extra']['checksum'];
|
||||
unset($record['extra']['checksum']);
|
||||
}
|
||||
if (!empty($record['context']['checksum'])) {
|
||||
$options['checksum'] = $record['context']['checksum'];
|
||||
unset($record['context']['checksum']);
|
||||
foreach ($this->getExtraParameters() as $key) {
|
||||
foreach (array('extra', 'context') as $source) {
|
||||
if (!empty($record[$source][$key])) {
|
||||
$options[$key] = $record[$source][$key];
|
||||
unset($record[$source][$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!empty($record['context'])) {
|
||||
$options['extra']['context'] = $record['context'];
|
||||
@@ -194,4 +194,14 @@ class RavenHandler extends AbstractProcessingHandler
|
||||
{
|
||||
return new LineFormatter();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets extra parameters supported by Raven that can be found in "extra" and "context"
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getExtraParameters()
|
||||
{
|
||||
return array('checksum', 'release');
|
||||
}
|
||||
}
|
||||
|
@@ -85,16 +85,18 @@ class RavenHandlerTest extends TestCase
|
||||
$this->assertEquals($tags, $ravenClient->lastData['tags']);
|
||||
}
|
||||
|
||||
public function testChecksum()
|
||||
public function testExtraParameters()
|
||||
{
|
||||
$ravenClient = $this->getRavenClient();
|
||||
$handler = $this->getHandler($ravenClient);
|
||||
|
||||
$checksum = '098f6bcd4621d373cade4e832627b4f6';
|
||||
$record = $this->getRecord(Logger::INFO, 'test', array('checksum' => $checksum));
|
||||
$release = '05a671c66aefea124cc08b76ea6d30bb';
|
||||
$record = $this->getRecord(Logger::INFO, 'test', array('checksum' => $checksum, 'release' => $release));
|
||||
$handler->handle($record);
|
||||
|
||||
$this->assertEquals($checksum, $ravenClient->lastData['checksum']);
|
||||
$this->assertEquals($release, $ravenClient->lastData['release']);
|
||||
}
|
||||
|
||||
public function testUserContext()
|
||||
|
Reference in New Issue
Block a user