private function prepareLogDirectory($logDirectory) { if (empty($logDirectory)) { $logDirectory = getcwd() . '/data'; } $logDirectory = rtrim($logDirectory, '/'); if (!$this->fileSystem->isWritable($logDirectory)) { throw new RuntimeException("Directory {$logDirectory} must be writable"); } return $logDirectory; }
/** * @param string $jobId * @param int $startTime * @param int $endTime * @param bool $isSuccessful * @param array $output * @param array $error */ public function log($jobId, $startTime, $endTime, $isSuccessful, $output, $error) { $filename = sprintf("%s/%s.log", $this->logDirectory, $jobId); $message = ''; if ($isSuccessful) { $message .= sprintf('[%s] Job processed successful', date('Y-m-d H:i:s')) . PHP_EOL; } else { $message .= sprintf('[%s] Job fail', date('Y-m-d H:i:s')) . PHP_EOL; } $message .= ' Start: ' . date('Y-m-d H:i:s', $startTime) . PHP_EOL; $message .= ' End: ' . date('Y-m-d H:i:s', $endTime) . PHP_EOL; $message .= ' Execution time: ' . $this->getExecutionTime($startTime, $endTime) . PHP_EOL; $message .= $this->prepareOutput($output); $message .= $this->prepareError($error); $message .= PHP_EOL; $this->fileSystem->put($filename, $message); }