1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-07-29 17:30:14 +02:00

Added a request token processor to detect log messages per request

This commit is contained in:
Simon Mönch
2013-02-25 15:42:26 +01:00
parent 953f21a7d8
commit bad76ce2a6
3 changed files with 64 additions and 0 deletions

View File

@@ -184,6 +184,7 @@ Processors
- _MemoryUsageProcessor_: Adds the current memory usage to a log record.
- _MemoryPeakUsageProcessor_: Adds the peak memory usage to a log record.
- _ProcessIdProcessor_: Adds the process id to a log record.
- _RequestTokenProcessor_: Adds a request token to a log record.
About
=====

View File

@@ -0,0 +1,36 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Processor;
/**
* Adds a request token into records
*
* @author Simon Mönch <sm@webfactory.de>
*/
class RequestTokenProcessor
{
private static $requestToken;
public function __construct()
{
if (null === self::$requestToken) {
self::$requestToken = substr(hash('md5', uniqid('', true)), 0, 7);
}
}
public function __invoke(array $record)
{
$record['extra']['request_token'] = self::$requestToken;
return $record;
}
}

View File

@@ -0,0 +1,27 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Processor;
use Monolog\TestCase;
class RequestTokenProcessorTest extends TestCase
{
/**
* @covers Monolog\Processor\RequestTokenProcessor::__invoke
*/
public function testProcessor()
{
$processor = new RequestTokenProcessor();
$record = $processor($this->getRecord());
$this->assertArrayHasKey('request_token', $record['extra']);
}
}