protected function setupResponseLogging(\React\Http\Request $request, HttpResponse $response)
{
$timeLocal = date('d/M/Y:H:i:s O');
$response->on('end', function () use($request, $response, $timeLocal) {
$requestString = $request->getMethod() . ' ' . $request->getPath() . ' HTTP/' . $request->getHttpVersion();
$statusCode = $response->getStatusCode();
if ($response->getStatusCode() < 400) {
$requestString = "<info>{$requestString}</info>";
$statusCode = "<info>{$statusCode}</info>";
}
$message = str_replace(['$remote_addr', '$remote_user', '$time_local', '$request', '$status', '$bytes_sent', '$http_referer', '$http_user_agent'], [$_SERVER['REMOTE_ADDR'], '-', $timeLocal, $requestString, $statusCode, $response->getBytesSent(), isset($request->getHeaders()['Referer']) ? $request->getHeaders()['Referer'] : '-', isset($request->getHeaders()['User-Agent']) ? $request->getHeaders()['User-Agent'] : '-'], $this->logFormat);
if ($response->getStatusCode() >= 400) {
$message = "<error>{$message}</error>";
}
$this->sendMessage($this->controller, 'log', ['message' => $message]);
});
}