Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/documentation.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2022-11-09 14:18:09 +0300
committerJoas Schilling <coding@schilljs.com>2022-11-09 14:18:09 +0300
commitdede3c97e0506243df41601d9c342b597164a018 (patch)
tree399b4ad5470fa10301e51ccc870b9c3cc54501a1
parent5d5bdd99ffcdd945a8ee7d264f7b4c2fbc30a17d (diff)
Document CriticalActionPerformedEvent
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r--developer_manual/basics/logging.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/developer_manual/basics/logging.rst b/developer_manual/basics/logging.rst
index db9259279..490581cb1 100644
--- a/developer_manual/basics/logging.rst
+++ b/developer_manual/basics/logging.rst
@@ -41,3 +41,25 @@ the app ID.
use function OCP\Log\logger;
logger('calendar')->warning('look, no dependency injection');
+
+Admin audit logging
+-------------------
+
+If you want to log things less for system administration but for compliance reasons, e.g. who accessed which file,
+who changed the password of an item or made it public, the
+`admin audit log <https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/logging_configuration.html#admin-audit-log>`_
+is the correct place.
+
+You can easily add a log by simply emitting an ``OCP\Log\Audit\CriticalActionPerformedEvent`` event:
+
+.. code-block:: php
+
+ <?php
+
+ $dispatcher = \OCP\Server::get(\OCP\EventDispatcher\IEventDispatcher::class);
+
+ $event = new \OCP\Log\Audit\CriticalActionPerformedEvent(
+ 'My critical action for app %s',
+ ['name' => 'My App ID']
+ );
+ $dispatcher->dispatchTyped($event);