diff --git a/lib/base.php b/lib/base.php
index a27e8ffc920683af5d43000f88c2652ce7e165eb..f73d4321bface7b45b37ff7ba46e564fd6d3d264 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -854,7 +854,7 @@ class OC {
 	}
 
 	private static function registerAccountHooks() {
-		$hookHandler = new \OC\Accounts\Hooks(\OC::$server->getLogger());
+		$hookHandler = new \OC\Accounts\Hooks(\OC::$server->get(\Psr\Log\LoggerInterface::class));
 		\OCP\Util::connectHook('OC_User', 'changeUser', $hookHandler, 'changeUserHook');
 	}
 
diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php
index 1f23e7e33a360705ecb33689b8f86b86d9cc6e8d..d18555d296c12cb6f874ffb3bd6f5f1c7656f383 100644
--- a/lib/private/Accounts/AccountManager.php
+++ b/lib/private/Accounts/AccountManager.php
@@ -35,8 +35,8 @@ use OCP\Accounts\IAccount;
 use OCP\Accounts\IAccountManager;
 use OCP\BackgroundJob\IJobList;
 use OCP\IDBConnection;
-use OCP\ILogger;
 use OCP\IUser;
+use Psr\Log\LoggerInterface;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 use Symfony\Component\EventDispatcher\GenericEvent;
 use function json_decode;
@@ -64,20 +64,13 @@ class AccountManager implements IAccountManager {
 	/** @var IJobList */
 	private $jobList;
 
-	/** @var ILogger */
+	/** @var LoggerInterface */
 	private $logger;
 
-	/**
-	 * AccountManager constructor.
-	 *
-	 * @param IDBConnection $connection
-	 * @param EventDispatcherInterface $eventDispatcher
-	 * @param IJobList $jobList
-	 */
 	public function __construct(IDBConnection $connection,
 								EventDispatcherInterface $eventDispatcher,
 								IJobList $jobList,
-								ILogger $logger) {
+								LoggerInterface $logger) {
 		$this->connection = $connection;
 		$this->eventDispatcher = $eventDispatcher;
 		$this->jobList = $jobList;
diff --git a/lib/private/Accounts/Hooks.php b/lib/private/Accounts/Hooks.php
index 2288b884c5c488902e3c5ed62ce7139b4ca70007..82f55f5a9d1a2b310cf3ab6841b14a3b1e7a0b5c 100644
--- a/lib/private/Accounts/Hooks.php
+++ b/lib/private/Accounts/Hooks.php
@@ -24,23 +24,18 @@
 
 namespace OC\Accounts;
 
-use OCP\ILogger;
 use OCP\IUser;
+use Psr\Log\LoggerInterface;
 
 class Hooks {
 
-	/** @var  AccountManager */
-	private $accountManager = null;
+	/** @var AccountManager|null */
+	private $accountManager;
 
-	/** @var ILogger */
+	/** @var LoggerInterface */
 	private $logger;
 
-	/**
-	 * Hooks constructor.
-	 *
-	 * @param ILogger $logger
-	 */
-	public function __construct(ILogger $logger) {
+	public function __construct(LoggerInterface $logger) {
 		$this->logger = $logger;
 	}
 
@@ -85,7 +80,7 @@ class Hooks {
 	 *
 	 * @return AccountManager
 	 */
-	protected function getAccountManager() {
+	protected function getAccountManager(): AccountManager {
 		if ($this->accountManager === null) {
 			$this->accountManager = \OC::$server->query(AccountManager::class);
 		}
diff --git a/tests/lib/Accounts/AccountsManagerTest.php b/tests/lib/Accounts/AccountsManagerTest.php
index 76abeb5b495767f8352db0ba92bc7e796241b43c..de9cc706b6ac7363380caddc76f4b5717d93e895 100644
--- a/tests/lib/Accounts/AccountsManagerTest.php
+++ b/tests/lib/Accounts/AccountsManagerTest.php
@@ -25,9 +25,9 @@ use OC\Accounts\Account;
 use OC\Accounts\AccountManager;
 use OCP\Accounts\IAccountManager;
 use OCP\BackgroundJob\IJobList;
-use OCP\ILogger;
 use OCP\IUser;
 use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 use Symfony\Component\EventDispatcher\GenericEvent;
 use Test\TestCase;
@@ -52,7 +52,7 @@ class AccountsManagerTest extends TestCase {
 	/** @var string accounts table name */
 	private $table = 'accounts';
 
-	/** @var ILogger|MockObject */
+	/** @var LoggerInterface|MockObject */
 	private $logger;
 
 	protected function setUp(): void {
@@ -60,7 +60,7 @@ class AccountsManagerTest extends TestCase {
 		$this->eventDispatcher = $this->createMock(EventDispatcherInterface::class);
 		$this->connection = \OC::$server->getDatabaseConnection();
 		$this->jobList = $this->createMock(IJobList::class);
-		$this->logger = $this->createMock(ILogger::class);
+		$this->logger = $this->createMock(LoggerInterface::class);
 	}
 
 	protected function tearDown(): void {
diff --git a/tests/lib/Accounts/HooksTest.php b/tests/lib/Accounts/HooksTest.php
index d24afd475e4f9948359eda504a68fdd218663e02..39003b2ef235039b3c9cce9d22718d52b5c3a01f 100644
--- a/tests/lib/Accounts/HooksTest.php
+++ b/tests/lib/Accounts/HooksTest.php
@@ -23,8 +23,9 @@ namespace Test\Accounts;
 
 use OC\Accounts\AccountManager;
 use OC\Accounts\Hooks;
-use OCP\ILogger;
 use OCP\IUser;
+use PHPUnit\Framework\MockObject\MockObject;
+use Psr\Log\LoggerInterface;
 use Test\TestCase;
 
 /**
@@ -35,19 +36,19 @@ use Test\TestCase;
  */
 class HooksTest extends TestCase {
 
-	/** @var  ILogger | \PHPUnit\Framework\MockObject\MockObject */
+	/** @var LoggerInterface|MockObject */
 	private $logger;
 
-	/** @var  AccountManager | \PHPUnit\Framework\MockObject\MockObject */
+	/** @var AccountManager|MockObject */
 	private $accountManager;
 
-	/** @var  Hooks | \PHPUnit\Framework\MockObject\MockObject */
+	/** @var Hooks|MockObject */
 	private $hooks;
 
 	protected function setUp(): void {
 		parent::setUp();
 
-		$this->logger = $this->createMock(ILogger::class);
+		$this->logger = $this->createMock(LoggerInterface::class);
 		$this->accountManager = $this->getMockBuilder(AccountManager::class)
 			->disableOriginalConstructor()->getMock();