aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/AppFramework/DependencyInjection
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2020-07-16 19:11:47 +0200
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-07-16 19:11:56 +0200
commitc88902133434d1c65d56644b14be9bb48ee5bb3a (patch)
tree7f76109a791daf912d6cbc8c59552c573f2904d2 /lib/private/AppFramework/DependencyInjection
parent684a7200ac1001284a0901eb00e3773f7a1233b5 (diff)
downloadnextcloud-server-c88902133434d1c65d56644b14be9bb48ee5bb3a.tar.gz
nextcloud-server-c88902133434d1c65d56644b14be9bb48ee5bb3a.zip
Add a scoped PSR logger for apps
Just like for ILogger we should have a version that has the app ID pre-set for the context (unless overwritten) so that each log entry can be traced back to the app that produced it. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/private/AppFramework/DependencyInjection')
-rw-r--r--lib/private/AppFramework/DependencyInjection/DIContainer.php11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php
index d45c90a7205..cd426d64699 100644
--- a/lib/private/AppFramework/DependencyInjection/DIContainer.php
+++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php
@@ -45,8 +45,10 @@ use OC\AppFramework\Middleware\Security\CORSMiddleware;
use OC\AppFramework\Middleware\Security\RateLimitingMiddleware;
use OC\AppFramework\Middleware\Security\SecurityMiddleware;
use OC\AppFramework\Middleware\SessionMiddleware;
+use OC\AppFramework\ScopedPsrLogger;
use OC\AppFramework\Utility\SimpleContainer;
use OC\Core\Middleware\TwoFactorMiddleware;
+use OC\Log\PsrLoggerAdapter;
use OC\ServerContainer;
use OCA\WorkflowEngine\Manager;
use OCP\AppFramework\Http\IOutput;
@@ -70,6 +72,7 @@ use OCP\ISession;
use OCP\IURLGenerator;
use OCP\IUserSession;
use Psr\Container\ContainerInterface;
+use Psr\Log\LoggerInterface;
/**
* @deprecated 20.0.0
@@ -128,7 +131,13 @@ class DIContainer extends SimpleContainer implements IAppContainer {
return $this->getServer()->getL10N($c->get('AppName'));
});
- // Log wrapper
+ // Log wrappers
+ $this->registerService(LoggerInterface::class, function (ContainerInterface $c) {
+ return new ScopedPsrLogger(
+ $c->get(PsrLoggerAdapter::class),
+ $c->get('AppName')
+ );
+ });
$this->registerService(ILogger::class, function (ContainerInterface $c) {
return new OC\AppFramework\Logger($this->server->query(ILogger::class), $c->get('AppName'));
});