summaryrefslogtreecommitdiffstats
path: root/lib/private/Files
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Files')
-rw-r--r--lib/private/Files/Cache/Scanner.php17
-rw-r--r--lib/private/Files/Mount/MountPoint.php6
-rw-r--r--lib/private/Files/Mount/ObjectHomeMountProvider.php6
-rw-r--r--lib/private/Files/ObjectStore/S3ConnectionTrait.php11
-rw-r--r--lib/private/Files/Storage/Common.php28
-rw-r--r--lib/private/Files/Storage/DAV.php7
-rw-r--r--lib/private/Files/Storage/Local.php10
-rw-r--r--lib/private/Files/View.php30
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"');