Merge pull request #12219 from nextcloud/chore/dev-logger

developer: Add information about `ILogger`
This commit is contained in:
Côme Chilliet
2024-09-19 14:52:33 +02:00
committed by GitHub
3 changed files with 15 additions and 2 deletions

View File

@@ -74,6 +74,7 @@ Changed APIs
^^^^^^^^^^^^
- Clarify ``OCP\Files\Storage\IStorage::getOwner()`` returns ``string|false``.
- The Nextcloud implementation of the ``log`` method of ``Psr\Log\LoggerInterface`` now supports ``Psr\Log\LogLevel`` as log level parameter.
Deprecated APIs
^^^^^^^^^^^^^^^
@@ -84,3 +85,10 @@ Removed APIs
^^^^^^^^^^^^
- Legacy, non functional, ``OC_App::getForms`` was removed.
- All ``OCP\ILogger`` logging methods, deprecated since Nextcloud 20, are removed.
- The interface now only holds the Nextcloud internal logging level constants.
For all logging ``Psr\Log\LoggerInterface`` should be used.
- The ``OCP\ILogger`` interface can no longer be dependency injected as it now only holds constants.
- ``OCP\IServerContainer::getLogger`` was removed, use dependency injection with ``Psr\Log\LoggerInterface`` instead.
- The internal class ``OC\AppFramework\Logger`` was removed, it should have been never used by apps.
All using apps should migrate to ``Psr\Log\LoggerInterface``.

View File

@@ -381,7 +381,6 @@ Types:
* ``\OCP\Files\IRootFolder``
* ``\OCP\IGroupManager``
* ``\OCP\IL10N``
* ``\OCP\ILogger``
* ``\OCP\BackgroundJob\IJobList``
* ``\OCP\INavigationManager``
* ``\OCP\IPreview``
@@ -398,6 +397,7 @@ Types:
* ``\OCP\IUserManager``
* ``\OCP\IUserSession``
* ``\Psr\Container\ContainerInterface``
* ``\Psr\Log\LoggerInterface``
How to enable it
^^^^^^^^^^^^^^^^

View File

@@ -22,12 +22,17 @@ PSR-3: Logger Interface
.. versionadded:: 19
The dependency injection container can inject an instance of a ``\Psr\Log\LoggerInterface``. This is merely a wrapper of the existing (and strongly typed) ``\OCP\ILogger``. Apps may still use the Nextcloud logger, but the `PSR-3`_ implementation shall easy the integration of 3rd party libraries that require the `PSR-3`_ logger.
The dependency injection container can inject an instance of a ``\Psr\Log\LoggerInterface``.
The `PSR-3`_ implementation shall easy the integration of 3rd party libraries that require the `PSR-3`_ logger.
.. versionchanged:: 21
Nextcloud ships version 1.1.3
.. versionchanged:: 23
Nextcloud ships version 1.1.4
.. versionchanged:: 30
Nextcloud ships version 2.0.0
.. versionchanged:: 31
The ``\Psr\Log\LoggerInterface`` fully replaced the Nextcloud internal logging methods.
.. _psr4: