| 1 | <?php |
||
| 16 | class Gentime extends AbstractMiddleware |
||
| 17 | { |
||
| 18 | |||
| 19 | /** |
||
| 20 | * @var Logger |
||
| 21 | */ |
||
| 22 | private $logger; |
||
| 23 | |||
| 24 | /** |
||
| 25 | * @Inject("@logger") |
||
| 26 | * @param Logger $logger |
||
| 27 | */ |
||
| 28 | 2 | public function __construct(Logger $logger) |
|
| 32 | |||
| 33 | /** |
||
| 34 | * {@inheritdoc} |
||
| 35 | */ |
||
| 36 | 2 | public function processResponse(Request $request, Response $response) |
|
| 37 | { |
||
| 38 | 2 | $startTime = $request->server->get('REQUEST_TIME_FLOAT'); |
|
| 39 | 2 | $user = $request->attributes->get('user'); |
|
| 40 | 2 | $username = $this->getUsername($user); |
|
| 41 | |||
| 42 | 2 | $diff = microtime(true) - $startTime; |
|
| 43 | 2 | $this->logger->info( |
|
| 44 | 2 | sprintf( |
|
| 45 | 2 | '%0.2fms - %s', |
|
| 46 | 2 | $diff * 1000, |
|
| 47 | 2 | $request->getRequestUri() |
|
| 48 | ), |
||
| 49 | [ |
||
| 50 | 2 | 'channel' => 'gentime', |
|
| 51 | 2 | 'time' => round($diff * 1000, 2), |
|
| 52 | 2 | 'route' => $request->attributes->get('_route'), |
|
| 53 | 2 | 'userName' => $username, |
|
| 54 | 2 | 'userId' => $request->attributes->get('user_id') |
|
| 55 | ] |
||
| 56 | ); |
||
| 57 | 2 | } |
|
| 58 | |||
| 59 | /** |
||
| 60 | * @param UserVO|null $user |
||
| 61 | * @return string |
||
| 62 | */ |
||
| 63 | 2 | protected function getUsername($user) |
|
| 72 | } |
||
| 73 |