aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Log.php6
-rw-r--r--lib/private/Server.php3
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/private/Log.php b/lib/private/Log.php
index 746e4d75b91..4f43c90179f 100644
--- a/lib/private/Log.php
+++ b/lib/private/Log.php
@@ -12,6 +12,7 @@ use Exception;
use Nextcloud\LogNormalizer\Normalizer;
use OC\AppFramework\Bootstrap\Coordinator;
use OC\Log\ExceptionSerializer;
+use OCP\App\IAppManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\ILogger;
use OCP\IRequest;
@@ -44,6 +45,7 @@ class Log implements ILogger, IDataLogger {
private SystemConfig $config,
private Normalizer $normalizer = new Normalizer(),
private ?IRegistry $crashReporters = null,
+ private ?IAppManager $appManager = null,
) {
}
@@ -142,7 +144,6 @@ class Log implements ILogger, IDataLogger {
$this->log(ILogger::DEBUG, $message, $context);
}
-
/**
* Logs with an arbitrary level.
*
@@ -158,6 +159,9 @@ class Log implements ILogger, IDataLogger {
return; // no crash reporter, no listeners, we can stop for lower log level
}
+ if ($this->appManager && isset($context['app']) && $version = $this->appManager->getAppVersion($context['app'])) {
+ $context['app_version'] = $version;
+ }
array_walk($context, [$this->normalizer, 'format']);
$app = $context['app'] ?? 'no app in context';
diff --git a/lib/private/Server.php b/lib/private/Server.php
index 75726d65d28..347175613c9 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -695,8 +695,9 @@ class Server extends ServerContainer implements IServerContainer {
$factory = new LogFactory($c, $this->get(SystemConfig::class));
$logger = $factory->get($logType);
$registry = $c->get(\OCP\Support\CrashReport\IRegistry::class);
+ $appManager = $c->get(AppManager::class);
- return new Log($logger, $this->get(SystemConfig::class), crashReporters: $registry);
+ return new Log($logger, $this->get(SystemConfig::class), crashReporters: $registry, appManager: $appManager);
});
// PSR-3 logger
$this->registerAlias(LoggerInterface::class, PsrLoggerAdapter::class);