mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-10 23:24:02 +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": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~4.5",
|
"phpunit/phpunit": "~4.5",
|
||||||
"graylog2/gelf-php": "~1.0",
|
"graylog2/gelf-php": "~1.0",
|
||||||
"raven/raven": "~0.8",
|
"raven/raven": "~0.11",
|
||||||
"ruflin/elastica": ">=0.90 <3.0",
|
"ruflin/elastica": ">=0.90 <3.0",
|
||||||
"doctrine/couchdb": "~1.0@dev",
|
"doctrine/couchdb": "~1.0@dev",
|
||||||
"aws/aws-sdk-php": "^2.4.9",
|
"aws/aws-sdk-php": "^2.4.9",
|
||||||
|
@@ -145,13 +145,13 @@ class RavenHandler extends AbstractProcessingHandler
|
|||||||
} else {
|
} else {
|
||||||
$options['logger'] = $record['channel'];
|
$options['logger'] = $record['channel'];
|
||||||
}
|
}
|
||||||
if (!empty($record['extra']['checksum'])) {
|
foreach ($this->getExtraParameters() as $key) {
|
||||||
$options['checksum'] = $record['extra']['checksum'];
|
foreach (array('extra', 'context') as $source) {
|
||||||
unset($record['extra']['checksum']);
|
if (!empty($record[$source][$key])) {
|
||||||
}
|
$options[$key] = $record[$source][$key];
|
||||||
if (!empty($record['context']['checksum'])) {
|
unset($record[$source][$key]);
|
||||||
$options['checksum'] = $record['context']['checksum'];
|
}
|
||||||
unset($record['context']['checksum']);
|
}
|
||||||
}
|
}
|
||||||
if (!empty($record['context'])) {
|
if (!empty($record['context'])) {
|
||||||
$options['extra']['context'] = $record['context'];
|
$options['extra']['context'] = $record['context'];
|
||||||
@@ -194,4 +194,14 @@ class RavenHandler extends AbstractProcessingHandler
|
|||||||
{
|
{
|
||||||
return new LineFormatter();
|
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']);
|
$this->assertEquals($tags, $ravenClient->lastData['tags']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testChecksum()
|
public function testExtraParameters()
|
||||||
{
|
{
|
||||||
$ravenClient = $this->getRavenClient();
|
$ravenClient = $this->getRavenClient();
|
||||||
$handler = $this->getHandler($ravenClient);
|
$handler = $this->getHandler($ravenClient);
|
||||||
|
|
||||||
$checksum = '098f6bcd4621d373cade4e832627b4f6';
|
$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);
|
$handler->handle($record);
|
||||||
|
|
||||||
$this->assertEquals($checksum, $ravenClient->lastData['checksum']);
|
$this->assertEquals($checksum, $ravenClient->lastData['checksum']);
|
||||||
|
$this->assertEquals($release, $ravenClient->lastData['release']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUserContext()
|
public function testUserContext()
|
||||||
|
Reference in New Issue
Block a user