diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-07-16 19:11:47 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-07-16 19:11:56 +0200 |
commit | c88902133434d1c65d56644b14be9bb48ee5bb3a (patch) | |
tree | 7f76109a791daf912d6cbc8c59552c573f2904d2 /lib/private/AppFramework/DependencyInjection | |
parent | 684a7200ac1001284a0901eb00e3773f7a1233b5 (diff) | |
download | nextcloud-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.php | 11 |
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')); }); |