Jyxo\Rpc\Server::log PHP Method

log() private method

Logs a request.
private log ( string $method, array $params, mixed $result )
$method string Method name
$params array Method parameters
$result mixed Function result
    private function log(string $method, array $params, $result)
    {
        // Log only if a filename is set
        if (!empty($this->logFile)) {
            // If a callback function is defined, call it
            if (!empty($this->logCallback)) {
                list($method, $params, $result) = call_user_func($this->logCallback, $method, $params, $result);
            }
            // Method
            $text = sprintf("Method: %s\n", $method);
            // Parameters
            foreach ($params as $paramName => $param) {
                $text .= sprintf("Param %s: %s\n", $paramName, trim(print_r($param, true)));
            }
            // Result
            $text .= sprintf("Result: %s\n", trim(print_r($result, true)));
            // Indent following lines
            $text = strtr(trim($text), ["\n" => "\n\t"]);
            // Time, ip address, hostname, uri
            $text = sprintf("[%s] %s %s %s\n\t%s\n", date('Y-m-d H:i:s'), $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_HOST'], $_SERVER['REQUEST_URI'], $text);
            // Save into logfile
            file_put_contents($this->logFile, $text, FILE_APPEND);
        }
    }