42 private $directoryList;
52 $this->fileDriver = $fileDriver;
53 $this->directoryList = $directoryList;
62 private function assertLogFolderExists($logFolderPath)
64 if (!$this->fileDriver->isDirectory($logFolderPath)) {
65 $this->fileDriver->createDirectory($logFolderPath);
68 if (!$this->fileDriver->isDirectory($logFolderPath)) {
69 throw new \Exception(sprintf(
"Can`t create log directory: %s", $logFolderPath));
77 private function assertFileExists(
$fileName)
79 if (!$this->fileDriver->isExists(
$fileName)) {
83 if (!$this->fileDriver->isExists(
$fileName)) {
84 throw new \Exception(sprintf(
"Can`t create file %s",
$fileName));
95 if ($this->fileDriver->isExists($this->getLoggerFile())) {
96 if (!$this->fileDriver->isWritable($this->getLoggerFile())) {
97 throw new \Exception(sprintf(
'Dry run logger file is not writable'));
100 $this->fileDriver->deleteFile($this->getLoggerFile());
101 $this->fileDriver->touch($this->getLoggerFile());
110 private function getLoggerFolder()
113 DIRECTORY_SEPARATOR .
'log';
121 private function getLoggerFile()
123 return $this->getLoggerFolder() . DIRECTORY_SEPARATOR .
self::FILE_NAME;
135 $loggerFolder = $this->getLoggerFolder();
136 $loggerFile = $this->getLoggerFile();
137 $this->assertLogFolderExists($loggerFolder);
138 $this->assertFileExists($loggerFile);
140 if ($this->fileDriver->isWritable($loggerFile)) {
141 $fd = $this->fileDriver->fileOpen($loggerFile,
'a');
142 $this->fileDriver->fileWrite($fd, $sql . self::LINE_SEPARATOR);
144 throw new \Exception(sprintf(
'Can`t write to file %s', $loggerFile));
__construct(\Magento\Framework\Filesystem\Driver\File $fileDriver, DirectoryList $directoryList)
const INPUT_KEY_DRY_RUN_MODE