mirror of
https://github.com/nextcloud/server.git
synced 2026-05-25 10:49:21 -04:00
Merge pull request #40036 from nextcloud/fix/stable25/log-condition-user
[stable25] fix(logging): user log condition feature
This commit is contained in:
commit
08f964e52c
1 changed files with 12 additions and 10 deletions
|
|
@ -38,15 +38,16 @@ namespace OC;
|
|||
|
||||
use Exception;
|
||||
use Nextcloud\LogNormalizer\Normalizer;
|
||||
use OC\AppFramework\Bootstrap\Coordinator;
|
||||
use OCP\Log\IDataLogger;
|
||||
use Throwable;
|
||||
use function array_merge;
|
||||
use OC\Log\ExceptionSerializer;
|
||||
use OCP\ILogger;
|
||||
use OCP\IUserSession;
|
||||
use OCP\Log\IDataLogger;
|
||||
use OCP\Log\IFileBased;
|
||||
use OCP\Log\IWriter;
|
||||
use OCP\Support\CrashReport\IRegistry;
|
||||
use OC\AppFramework\Bootstrap\Coordinator;
|
||||
use OC\Log\ExceptionSerializer;
|
||||
use Throwable;
|
||||
use function array_merge;
|
||||
use function strtr;
|
||||
|
||||
/**
|
||||
|
|
@ -59,7 +60,6 @@ use function strtr;
|
|||
* MonoLog is an example implementing this interface.
|
||||
*/
|
||||
class Log implements ILogger, IDataLogger {
|
||||
|
||||
/** @var IWriter */
|
||||
private $logger;
|
||||
|
||||
|
|
@ -247,7 +247,6 @@ class Log implements ILogger, IDataLogger {
|
|||
// default to false to just process this once per request
|
||||
$this->logConditionSatisfied = false;
|
||||
if (!empty($logCondition)) {
|
||||
|
||||
// check for secret token in the request
|
||||
if (isset($logCondition['shared_secret'])) {
|
||||
$request = \OC::$server->getRequest();
|
||||
|
|
@ -268,10 +267,13 @@ class Log implements ILogger, IDataLogger {
|
|||
|
||||
// check for user
|
||||
if (isset($logCondition['users'])) {
|
||||
$user = \OC::$server->getUserSession()->getUser();
|
||||
$user = \OCP\Server::get(IUserSession::class)->getUser();
|
||||
|
||||
// if the user matches set the log condition to satisfied
|
||||
if ($user !== null && in_array($user->getUID(), $logCondition['users'], true)) {
|
||||
if ($user === null) {
|
||||
// User is not known for this request yet
|
||||
$this->logConditionSatisfied = null;
|
||||
} elseif (in_array($user->getUID(), $logCondition['users'], true)) {
|
||||
// if the user matches set the log condition to satisfied
|
||||
$this->logConditionSatisfied = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue