mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-08 14:16:42 +02:00
Merge pull request #515 from smazurov/patch-1
Added overwriting of user context to RavenHandler
This commit is contained in:
@@ -127,6 +127,8 @@ class RavenHandler extends AbstractProcessingHandler
|
|||||||
*/
|
*/
|
||||||
protected function write(array $record)
|
protected function write(array $record)
|
||||||
{
|
{
|
||||||
|
// ensures user context is empty
|
||||||
|
$this->ravenClient->user_context(null);
|
||||||
$options = array();
|
$options = array();
|
||||||
$options['level'] = $this->logLevels[$record['level']];
|
$options['level'] = $this->logLevels[$record['level']];
|
||||||
$options['tags'] = array();
|
$options['tags'] = array();
|
||||||
@@ -146,6 +148,10 @@ class RavenHandler extends AbstractProcessingHandler
|
|||||||
}
|
}
|
||||||
if (!empty($record['context'])) {
|
if (!empty($record['context'])) {
|
||||||
$options['extra']['context'] = $record['context'];
|
$options['extra']['context'] = $record['context'];
|
||||||
|
if (!empty($record['context']['user'])) {
|
||||||
|
$this->ravenClient->user_context($record['context']['user']);
|
||||||
|
unset($options['extra']['context']['user']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!empty($record['extra'])) {
|
if (!empty($record['extra'])) {
|
||||||
$options['extra']['extra'] = $record['extra'];
|
$options['extra']['extra'] = $record['extra'];
|
||||||
|
@@ -85,6 +85,26 @@ class RavenHandlerTest extends TestCase
|
|||||||
$this->assertEquals($tags, $ravenClient->lastData['tags']);
|
$this->assertEquals($tags, $ravenClient->lastData['tags']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testUserContext()
|
||||||
|
{
|
||||||
|
$ravenClient = $this->getRavenClient();
|
||||||
|
$handler = $this->getHandler($ravenClient);
|
||||||
|
|
||||||
|
$user = array(
|
||||||
|
'id' => '123',
|
||||||
|
'email' => 'test@test.com'
|
||||||
|
);
|
||||||
|
$record = $this->getRecord(Logger::INFO, "test", array('user' => $user));
|
||||||
|
|
||||||
|
$handler->handle($record);
|
||||||
|
$this->assertEquals($user, $ravenClient->context->user);
|
||||||
|
|
||||||
|
$secondRecord = $this->getRecord(Logger::INFO, "test without user");
|
||||||
|
|
||||||
|
$handler->handle($secondRecord);
|
||||||
|
$this->assertNull($ravenClient->context->user);
|
||||||
|
}
|
||||||
|
|
||||||
public function testException()
|
public function testException()
|
||||||
{
|
{
|
||||||
$ravenClient = $this->getRavenClient();
|
$ravenClient = $this->getRavenClient();
|
||||||
|
Reference in New Issue
Block a user