mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
fix(loggging): user log condition feature
Signed-off-by: Anna Larch <anna@nextcloud.com>
This commit is contained in:
parent
c19469872b
commit
36f9ca2218
1 changed files with 18 additions and 9 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;
|
||||
|
||||
/**
|
||||
|
|
@ -71,7 +72,12 @@ class Log implements ILogger, IDataLogger {
|
|||
* @param Normalizer|null $normalizer
|
||||
* @param IRegistry|null $registry
|
||||
*/
|
||||
public function __construct(IWriter $logger, SystemConfig $config = null, Normalizer $normalizer = null, IRegistry $registry = null) {
|
||||
public function __construct(
|
||||
IWriter $logger,
|
||||
SystemConfig $config = null,
|
||||
Normalizer $normalizer = null,
|
||||
IRegistry $registry = null
|
||||
) {
|
||||
// FIXME: Add this for backwards compatibility, should be fixed at some point probably
|
||||
if ($config === null) {
|
||||
$config = \OC::$server->getSystemConfig();
|
||||
|
|
@ -257,10 +263,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