diff options
Diffstat (limited to 'lib/private/Files')
-rw-r--r-- | lib/private/Files/Cache/Scanner.php | 17 | ||||
-rw-r--r-- | lib/private/Files/Mount/MountPoint.php | 6 | ||||
-rw-r--r-- | lib/private/Files/Mount/ObjectHomeMountProvider.php | 6 | ||||
-rw-r--r-- | lib/private/Files/ObjectStore/S3ConnectionTrait.php | 11 | ||||
-rw-r--r-- | lib/private/Files/Storage/Common.php | 28 | ||||
-rw-r--r-- | lib/private/Files/Storage/DAV.php | 7 | ||||
-rw-r--r-- | lib/private/Files/Storage/Local.php | 10 | ||||
-rw-r--r-- | lib/private/Files/View.php | 30 |
8 files changed, 58 insertions, 57 deletions
diff --git a/lib/private/Files/Cache/Scanner.php b/lib/private/Files/Cache/Scanner.php index dc36ad5b8ca..fb32b64c012 100644 --- a/lib/private/Files/Cache/Scanner.php +++ b/lib/private/Files/Cache/Scanner.php @@ -36,14 +36,14 @@ namespace OC\Files\Cache; use Doctrine\DBAL\Exception; -use OC\Files\Storage\Wrapper\Jail; -use OC\Files\Storage\Wrapper\Encoding; -use OC\Hooks\BasicEmitter; use OCP\Files\Cache\IScanner; use OCP\Files\ForbiddenException; use OCP\Files\Storage\IReliableEtagStorage; -use OCP\ILogger; use OCP\Lock\ILockingProvider; +use OC\Files\Storage\Wrapper\Encoding; +use OC\Files\Storage\Wrapper\Jail; +use OC\Hooks\BasicEmitter; +use Psr\Log\LoggerInterface; /** * Class Scanner @@ -115,7 +115,7 @@ class Scanner extends BasicEmitter implements IScanner { protected function getData($path) { $data = $this->storage->getMetaData($path); if (is_null($data)) { - \OCP\Util::writeLog(Scanner::class, "!!! Path '$path' is not accessible or present !!!", ILogger::DEBUG); + \OC::$server->get(LoggerInterface::class)->debug("!!! Path '$path' is not accessible or present !!!", ['app' => 'core']); } return $data; } @@ -425,7 +425,7 @@ class Scanner extends BasicEmitter implements IScanner { $file = trim(\OC\Files\Filesystem::normalizePath($originalFile), '/'); if (trim($originalFile, '/') !== $file) { // encoding mismatch, might require compatibility wrapper - \OC::$server->getLogger()->debug('Scanner: Skipping non-normalized file name "'. $originalFile . '" in path "' . $path . '".', ['app' => 'core']); + \OC::$server->get(LoggerInterface::class)->debug('Scanner: Skipping non-normalized file name "'. $originalFile . '" in path "' . $path . '".', ['app' => 'core']); $this->emit('\OC\Files\Cache\Scanner', 'normalizedNameMismatch', [$path ? $path . '/' . $originalFile : $originalFile]); // skip this entry continue; @@ -456,10 +456,9 @@ class Scanner extends BasicEmitter implements IScanner { \OC::$server->getDatabaseConnection()->rollback(); \OC::$server->getDatabaseConnection()->beginTransaction(); } - \OC::$server->getLogger()->logException($ex, [ - 'message' => 'Exception while scanning file "' . $child . '"', - 'level' => ILogger::DEBUG, + \OC::$server->get(LoggerInterface::class)->debug('Exception while scanning file "' . $child . '"', [ 'app' => 'core', + 'exception' => $ex, ]); $exceptionOccurred = true; } catch (\OCP\Lock\LockedException $e) { diff --git a/lib/private/Files/Mount/MountPoint.php b/lib/private/Files/Mount/MountPoint.php index d598355dbae..49f7e560ad3 100644 --- a/lib/private/Files/Mount/MountPoint.php +++ b/lib/private/Files/Mount/MountPoint.php @@ -35,7 +35,7 @@ use OC\Files\Storage\Storage; use OC\Files\Storage\StorageFactory; use OCP\Files\Mount\IMountPoint; use OCP\Files\Storage\IStorageFactory; -use OCP\ILogger; +use Psr\Log\LoggerInterface; class MountPoint implements IMountPoint { /** @@ -173,12 +173,12 @@ class MountPoint implements IMountPoint { // the root storage could not be initialized, show the user! throw new \Exception('The root storage could not be initialized. Please contact your local administrator.', $exception->getCode(), $exception); } else { - \OC::$server->getLogger()->logException($exception, ['level' => ILogger::ERROR]); + \OC::$server->get(LoggerInterface::class)->error($exception->getMessage(), ['exception' => $exception]); } return; } } else { - \OCP\Util::writeLog('core', 'storage backend ' . $this->class . ' not found', ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('Storage backend ' . $this->class . ' not found', ['app' => 'core']); $this->invalidStorage = true; return; } diff --git a/lib/private/Files/Mount/ObjectHomeMountProvider.php b/lib/private/Files/Mount/ObjectHomeMountProvider.php index 6a8a7d1f2fb..77912adfd34 100644 --- a/lib/private/Files/Mount/ObjectHomeMountProvider.php +++ b/lib/private/Files/Mount/ObjectHomeMountProvider.php @@ -27,8 +27,8 @@ namespace OC\Files\Mount; use OCP\Files\Config\IHomeMountProvider; use OCP\Files\Storage\IStorageFactory; use OCP\IConfig; -use OCP\ILogger; use OCP\IUser; +use Psr\Log\LoggerInterface; /** * Mount provider for object store home storages @@ -80,7 +80,7 @@ class ObjectHomeMountProvider implements IHomeMountProvider { // sanity checks if (empty($config['class'])) { - \OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('No class given for objectstore', ['app' => 'files']); } if (!isset($config['arguments'])) { $config['arguments'] = []; @@ -105,7 +105,7 @@ class ObjectHomeMountProvider implements IHomeMountProvider { // sanity checks if (empty($config['class'])) { - \OCP\Util::writeLog('files', 'No class given for objectstore', ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('No class given for objectstore', ['app' => 'files']); } if (!isset($config['arguments'])) { $config['arguments'] = []; diff --git a/lib/private/Files/ObjectStore/S3ConnectionTrait.php b/lib/private/Files/ObjectStore/S3ConnectionTrait.php index d6f42c455b4..c3836749c6d 100644 --- a/lib/private/Files/ObjectStore/S3ConnectionTrait.php +++ b/lib/private/Files/ObjectStore/S3ConnectionTrait.php @@ -39,7 +39,7 @@ use Aws\S3\S3Client; use GuzzleHttp\Promise; use GuzzleHttp\Promise\RejectedPromise; use OCP\ICertificateManager; -use OCP\ILogger; +use Psr\Log\LoggerInterface; trait S3ConnectionTrait { /** @var array */ @@ -150,13 +150,13 @@ trait S3ConnectionTrait { $this->connection = new S3Client($options); if (!$this->connection::isBucketDnsCompatible($this->bucket)) { - $logger = \OC::$server->getLogger(); + $logger = \OC::$server->get(LoggerInterface::class); $logger->debug('Bucket "' . $this->bucket . '" This bucket name is not dns compatible, it may contain invalid characters.', ['app' => 'objectstore']); } if ($this->params['verify_bucket_exists'] && !$this->connection->doesBucketExist($this->bucket)) { - $logger = \OC::$server->getLogger(); + $logger = \OC::$server->get(LoggerInterface::class); try { $logger->info('Bucket "' . $this->bucket . '" does not exist - creating it.', ['app' => 'objectstore']); if (!$this->connection::isBucketDnsCompatible($this->bucket)) { @@ -165,9 +165,8 @@ trait S3ConnectionTrait { $this->connection->createBucket(['Bucket' => $this->bucket]); $this->testTimeout(); } catch (S3Exception $e) { - $logger->logException($e, [ - 'message' => 'Invalid remote storage.', - 'level' => ILogger::DEBUG, + $logger->debug('Invalid remote storage.', [ + 'exception' => $e, 'app' => 'objectstore', ]); throw new \Exception('Creation of bucket "' . $this->bucket . '" failed. ' . $e->getMessage()); diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php index 8e7e56e6ca2..3c970ee75f5 100644 --- a/lib/private/Files/Storage/Common.php +++ b/lib/private/Files/Storage/Common.php @@ -61,9 +61,9 @@ use OCP\Files\ReservedWordException; use OCP\Files\Storage\ILockingStorage; use OCP\Files\Storage\IStorage; use OCP\Files\Storage\IWriteStreamStorage; -use OCP\ILogger; use OCP\Lock\ILockingProvider; use OCP\Lock\LockedException; +use Psr\Log\LoggerInterface; /** * Storage backend class for providing common filesystem operation methods @@ -89,7 +89,9 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { protected $mountOptions = []; protected $owner = null; + /** @var ?bool */ private $shouldLogLocks = null; + /** @var ?LoggerInterface */ private $logger; public function __construct($parameters) { @@ -237,7 +239,7 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { $target = $this->fopen($path2, 'w'); [, $result] = \OC_Helper::streamCopy($source, $target); if (!$result) { - \OC::$server->getLogger()->warning("Failed to write data while copying $path1 to $path2"); + \OC::$server->get(LoggerInterface::class)->warning("Failed to write data while copying $path1 to $path2"); } $this->removeCachedFile($path2); return $result; @@ -459,11 +461,13 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { if ($this->stat('')) { return true; } - \OC::$server->getLogger()->info("External storage not available: stat() failed"); + \OC::$server->get(LoggerInterface::class)->info("External storage not available: stat() failed"); return false; } catch (\Exception $e) { - \OC::$server->getLogger()->warning("External storage not available: " . $e->getMessage()); - \OC::$server->getLogger()->logException($e, ['level' => ILogger::WARN]); + \OC::$server->get(LoggerInterface::class)->warning( + "External storage not available: " . $e->getMessage(), + ['exception' => $e] + ); return false; } } @@ -628,7 +632,7 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { $this->writeStream($targetInternalPath, $source); $result = true; } catch (\Exception $e) { - \OC::$server->getLogger()->logException($e, ['level' => ILogger::WARN, 'message' => 'Failed to copy stream to storage']); + \OC::$server->get(LoggerInterface::class)->warning('Failed to copy stream to storage', ['exception' => $e]); } } @@ -758,7 +762,7 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { $provider->acquireLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type, $this->getId() . '::' . $path); } catch (LockedException $e) { if ($logger) { - $logger->logException($e, ['level' => ILogger::INFO]); + $logger->info($e->getMessage(), ['exception' => $e]); } throw $e; } @@ -790,7 +794,7 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { $provider->releaseLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type); } catch (LockedException $e) { if ($logger) { - $logger->logException($e, ['level' => ILogger::INFO]); + $logger->info($e->getMessage(), ['exception' => $e]); } throw $e; } @@ -821,15 +825,17 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage { try { $provider->changeLock('files/' . md5($this->getId() . '::' . trim($path, '/')), $type); } catch (LockedException $e) { - \OC::$server->getLogger()->logException($e, ['level' => ILogger::INFO]); + if ($logger) { + $logger->info($e->getMessage(), ['exception' => $e]); + } throw $e; } } - private function getLockLogger() { + private function getLockLogger(): ?LoggerInterface { if (is_null($this->shouldLogLocks)) { $this->shouldLogLocks = \OC::$server->getConfig()->getSystemValue('filelocking.debug', false); - $this->logger = $this->shouldLogLocks ? \OC::$server->getLogger() : null; + $this->logger = $this->shouldLogLocks ? \OC::$server->get(LoggerInterface::class) : null; } return $this->logger; } diff --git a/lib/private/Files/Storage/DAV.php b/lib/private/Files/Storage/DAV.php index b7d1c4bbc10..132e3d257aa 100644 --- a/lib/private/Files/Storage/DAV.php +++ b/lib/private/Files/Storage/DAV.php @@ -50,13 +50,12 @@ use OCP\Files\StorageInvalidException; use OCP\Files\StorageNotAvailableException; use OCP\Http\Client\IClientService; use OCP\ICertificateManager; -use OCP\ILogger; -use OCP\Util; use Psr\Http\Message\ResponseInterface; use Sabre\DAV\Client; use Sabre\DAV\Xml\Property\ResourceType; use Sabre\HTTP\ClientException; use Sabre\HTTP\ClientHttpException; +use Psr\Log\LoggerInterface; /** * Class DAV @@ -370,7 +369,7 @@ class DAV extends Common { if ($response->getStatusCode() === Http::STATUS_LOCKED) { throw new \OCP\Lock\LockedException($path); } else { - Util::writeLog("webdav client", 'Guzzle get returned status code ' . $response->getStatusCode(), ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('Guzzle get returned status code ' . $response->getStatusCode(), ['app' => 'webdav client']); } } @@ -843,7 +842,7 @@ class DAV extends Common { * @throws ForbiddenException if the action is not allowed */ protected function convertException(Exception $e, $path = '') { - \OC::$server->getLogger()->logException($e, ['app' => 'files_external', 'level' => ILogger::DEBUG]); + \OC::$server->get(LoggerInterface::class)->debug($e->getMessage(), ['app' => 'files_external', 'exception' => $e]); if ($e instanceof ClientHttpException) { if ($e->getHttpStatus() === Http::STATUS_LOCKED) { throw new \OCP\Lock\LockedException($path); diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index d637b3d194f..ee8a8c7d161 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -50,7 +50,7 @@ use OCP\Files\GenericFileException; use OCP\Files\IMimeTypeDetector; use OCP\Files\Storage\IStorage; use OCP\IConfig; -use OCP\ILogger; +use Psr\Log\LoggerInterface; /** * for local filestore, we only have to map the paths @@ -323,17 +323,17 @@ class Local extends \OC\Files\Storage\Common { $dstParent = dirname($path2); if (!$this->isUpdatable($srcParent)) { - \OCP\Util::writeLog('core', 'unable to rename, source directory is not writable : ' . $srcParent, ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('unable to rename, source directory is not writable : ' . $srcParent, ['app' => 'core']); return false; } if (!$this->isUpdatable($dstParent)) { - \OCP\Util::writeLog('core', 'unable to rename, destination directory is not writable : ' . $dstParent, ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('unable to rename, destination directory is not writable : ' . $dstParent, ['app' => 'core']); return false; } if (!$this->file_exists($path1)) { - \OCP\Util::writeLog('core', 'unable to rename, file does not exists : ' . $path1, ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error('unable to rename, file does not exists : ' . $path1, ['app' => 'core']); return false; } @@ -484,7 +484,7 @@ class Local extends \OC\Files\Storage\Common { return $fullPath; } - \OCP\Util::writeLog('core', "Following symlinks is not allowed ('$fullPath' -> '$realPath' not inside '{$this->realDataDir}')", ILogger::ERROR); + \OC::$server->get(LoggerInterface::class)->error("Following symlinks is not allowed ('$fullPath' -> '$realPath' not inside '{$this->realDataDir}')", ['app' => 'core']); throw new ForbiddenException('Following symlinks is not allowed', false); } diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index c209c8594f7..2b6732e2ba0 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -64,10 +64,10 @@ use OCP\Files\Mount\IMountPoint; use OCP\Files\NotFoundException; use OCP\Files\ReservedWordException; use OCP\Files\Storage\IStorage; -use OCP\ILogger; use OCP\IUser; use OCP\Lock\ILockingProvider; use OCP\Lock\LockedException; +use Psr\Log\LoggerInterface; /** * Class to provide access to ownCloud filesystem via a "view", and methods for @@ -101,8 +101,7 @@ class View { /** @var \OC\User\Manager */ private $userManager; - /** @var \OCP\ILogger */ - private $logger; + private LoggerInterface $logger; private DisplayNameCache $displayNameCache; @@ -123,7 +122,7 @@ class View { $this->lockingEnabled = !($this->lockingProvider instanceof \OC\Lock\NoopLockingProvider); $this->userManager = \OC::$server->getUserManager(); $this->displayNameCache = \OC::$server->get(DisplayNameCache::class); - $this->logger = \OC::$server->getLogger(); + $this->logger = \OC::$server->get(LoggerInterface::class); } public function getAbsolutePath($path = '/') { @@ -579,7 +578,7 @@ class View { try { $result = $this->basicOperation('touch', $path, $hooks, $mtime); } catch (\Exception $e) { - $this->logger->logException($e, ['level' => ILogger::INFO, 'message' => 'Error while setting modified time']); + $this->logger->info('Error while setting modified time', ['app' => 'core', 'exception' => $e]); $result = false; } if (!$result) { @@ -1000,11 +999,11 @@ class View { $hooks[] = 'write'; break; default: - \OCP\Util::writeLog('core', 'invalid mode (' . $mode . ') for ' . $path, ILogger::ERROR); + $this->logger->error('invalid mode (' . $mode . ') for ' . $path, ['app' => 'core']); } if ($mode !== 'r' && $mode !== 'w') { - \OC::$server->getLogger()->info('Trying to open a file with a mode other than "r" or "w" can cause severe performance issues with some backends'); + $this->logger->info('Trying to open a file with a mode other than "r" or "w" can cause severe performance issues with some backends', ['app' => 'core']); } return $this->basicOperation('fopen', $path, $hooks, $mode); @@ -1418,7 +1417,7 @@ class View { return $info; } else { - \OC::$server->getLogger()->warning('Storage not valid for mountpoint: ' . $mount->getMountPoint()); + $this->logger->warning('Storage not valid for mountpoint: ' . $mount->getMountPoint(), ['app' => 'core']); } return false; @@ -1502,10 +1501,9 @@ class View { continue; } catch (\Exception $e) { // sometimes when the storage is not available it can be any exception - \OC::$server->getLogger()->logException($e, [ - 'message' => 'Exception while scanning storage "' . $subStorage->getId() . '"', - 'level' => ILogger::ERROR, - 'app' => 'lib', + $this->logger->error('Exception while scanning storage "' . $subStorage->getId() . '"', [ + 'exception' => $e, + 'app' => 'core', ]); continue; } @@ -1816,9 +1814,9 @@ class View { ); if (count($shares) > 0) { - \OCP\Util::writeLog('files', + $this->logger->debug( 'It is not allowed to move one mount point into a shared folder', - ILogger::DEBUG); + ['app' => 'files']); return false; } @@ -2146,9 +2144,9 @@ class View { // "$user", "files", "path/to/dir" if (!isset($parts[1]) || $parts[1] !== 'files') { $this->logger->error( - '$absolutePath must be relative to "files", value is "%s"', + '$absolutePath must be relative to "files", value is "{absolutePath}"', [ - $absolutePath + 'absolutePath' => $absolutePath, ] ); throw new \InvalidArgumentException('$absolutePath must be relative to "files"'); |