diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-10-03 01:16:57 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-10-20 13:38:37 +0200 |
commit | d38050cf52a623a0a4d29044bb50d3c247c8245c (patch) | |
tree | e0e64990ef04d98b8a42f94cd9fca47f3cef060c /lib/private/server.php | |
parent | cb3a4d22b17ee3dd016faf52530b8f888cef5723 (diff) | |
download | nextcloud-server-d38050cf52a623a0a4d29044bb50d3c247c8245c.tar.gz nextcloud-server-d38050cf52a623a0a4d29044bb50d3c247c8245c.zip |
Add an EventLogger interface to allow apps to get a log of the request timeline
Diffstat (limited to 'lib/private/server.php')
-rw-r--r-- | lib/private/server.php | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/lib/private/server.php b/lib/private/server.php index d2728d2b6ef..263f9919023 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -6,12 +6,14 @@ use OC\AppFramework\Http\Request; use OC\AppFramework\Db\Db; use OC\AppFramework\Utility\SimpleContainer; use OC\Cache\UserCache; +use OC\Debug\EventLogger; use OC\Security\CertificateManager; use OC\DB\ConnectionWrapper; use OC\Files\Node\Root; use OC\Files\View; use OC\Security\Crypto; use OC\Security\SecureRandom; +use OC\Debug\DummyEventLogger; use OCP\IServerContainer; use OCP\ISession; use OC\Tagging\TagMapper; @@ -24,7 +26,6 @@ use OC\Tagging\TagMapper; * TODO: hookup all manager classes */ class Server extends SimpleContainer implements IServerContainer { - function __construct() { $this->registerService('ContactsManager', function ($c) { return new ContactsManager(); @@ -59,8 +60,8 @@ class Server extends SimpleContainer implements IServerContainer { 'env' => $_ENV, 'cookies' => $_COOKIE, 'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD'])) - ? $_SERVER['REQUEST_METHOD'] - : null, + ? $_SERVER['REQUEST_METHOD'] + : null, 'urlParams' => $urlParams, 'requesttoken' => $requestToken, ), $stream @@ -208,10 +209,10 @@ class Server extends SimpleContainer implements IServerContainer { $this->registerService('Search', function ($c) { return new Search(); }); - $this->registerService('SecureRandom', function($c) { + $this->registerService('SecureRandom', function ($c) { return new SecureRandom(); }); - $this->registerService('Crypto', function($c) { + $this->registerService('Crypto', function ($c) { return new Crypto(\OC::$server->getConfig(), \OC::$server->getSecureRandom()); }); $this->registerService('Db', function ($c) { @@ -221,6 +222,13 @@ class Server extends SimpleContainer implements IServerContainer { $config = $c->query('AllConfig'); return new HTTPHelper($config); }); + $this->registerService('EventLogger', function ($c) { + if (defined('DEBUG') and DEBUG) { + return new EventLogger(); + } else { + return new DummyEventLogger(); + } + }); } /** @@ -285,7 +293,7 @@ class Server extends SimpleContainer implements IServerContainer { * @return \OCP\Files\Folder */ function getUserFolder($userId = null) { - if($userId === null) { + if ($userId === null) { $user = $this->getUserSession()->getUser(); if (!$user) { return null; @@ -528,6 +536,7 @@ class Server extends SimpleContainer implements IServerContainer { /** * Returns an instance of the HTTP helper class + * * @return \OC\HTTPHelper */ function getHTTPHelper() { @@ -559,4 +568,15 @@ class Server extends SimpleContainer implements IServerContainer { function createEventSource() { return new \OC_EventSource(); } + + /** + * Get the active event logger + * + * The returned logger only logs data when debug mode is enabled + * + * @return \OCP\Debug\IEventLogger + */ + function getEventLogger() { + return $this->query('EventLogger'); + } } |