[Pkg-owncloud-commits] [owncloud] 25/172: - make logger available in the container - inject logger class into log - adding PHPDoc comments and fixing typos
David Prévot
taffit at moszumanska.debian.org
Sun May 18 20:09:36 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit b4298c68ca3b79abb7413452311daf074206c31c
Author: Bernhard Posselt <dev at bernhard-posselt.com>
Date: Wed May 7 01:55:06 2014 +0200
- make logger available in the container
- inject logger class into log
- adding PHPDoc comments and fixing typos
---
lib/private/log.php | 30 +++++++++++----
lib/private/server.php | 27 ++++++++++---
lib/public/ilogger.php | 101 +++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 145 insertions(+), 13 deletions(-)
diff --git a/lib/private/log.php b/lib/private/log.php
index e0b9fe3..c7a3b99 100644
--- a/lib/private/log.php
+++ b/lib/private/log.php
@@ -8,6 +8,8 @@
namespace OC;
+use \OCP\ILogger;
+
/**
* logging utilities
*
@@ -18,8 +20,24 @@ namespace OC;
* MonoLog is an example implementing this interface.
*/
-class Log {
- private $logClass;
+class Log implements ILogger {
+
+ private $logger;
+
+ /**
+ * @param string $logger The logger that should be used
+ */
+ public function __construct($logger=null) {
+ // FIXME: Add this for backwards compatibility, should be fixed at some point probably
+ if($logger === null) {
+ $this->logger = 'OC_Log_'.ucfirst(\OC_Config::getValue('log_type', 'owncloud'));
+ call_user_func(array($this->logger, 'init'));
+ } else {
+ $this->logger = $logger;
+ }
+
+ }
+
/**
* System is unusable.
@@ -112,10 +130,6 @@ class Log {
$this->log(\OC_Log::DEBUG, $message, $context);
}
- public function __construct() {
- $this->logClass = 'OC_Log_'.ucfirst(\OC_Config::getValue('log_type', 'owncloud'));
- call_user_func(array($this->logClass, 'init'));
- }
/**
* Logs with an arbitrary level.
@@ -130,7 +144,7 @@ class Log {
} else {
$app = 'no app in context';
}
- $logClass=$this->logClass;
- $logClass::write($app, $message, $level);
+ $logger=$this->logger;
+ $logger::write($app, $message, $level);
}
}
diff --git a/lib/private/server.php b/lib/private/server.php
index 4c29092..52dd56e 100644
--- a/lib/private/server.php
+++ b/lib/private/server.php
@@ -30,9 +30,9 @@ class Server extends SimpleContainer implements IServerContainer {
}
if (\OC::$session->exists('requesttoken')) {
- $requesttoken = \OC::$session->get('requesttoken');
+ $requestToken = \OC::$session->get('requesttoken');
} else {
- $requesttoken = false;
+ $requestToken = false;
}
if (defined('PHPUNIT_RUN') && PHPUNIT_RUN
@@ -54,7 +54,7 @@ class Server extends SimpleContainer implements IServerContainer {
? $_SERVER['REQUEST_METHOD']
: null,
'urlParams' => $urlParams,
- 'requesttoken' => $requesttoken,
+ 'requesttoken' => $requestToken,
), $stream
);
});
@@ -158,6 +158,14 @@ class Server extends SimpleContainer implements IServerContainer {
$this->registerService('AvatarManager', function($c) {
return new AvatarManager();
});
+ $this->registerService('Logger', function($c) {
+ /** @var $c SimpleContainer */
+ $logClass = $c->query('AllConfig')->getSystemValue('log_type', 'owncloud');
+ $logger = 'OC_Log_' . ucfirst($logClass);
+ call_user_func(array($logger, 'init'));
+
+ return new Log($logger);
+ });
$this->registerService('JobList', function ($c) {
/**
* @var Server $c
@@ -325,14 +333,14 @@ class Server extends SimpleContainer implements IServerContainer {
}
/**
- * @return \OC\URLGenerator
+ * @return \OCP\IURLGenerator
*/
function getURLGenerator() {
return $this->query('URLGenerator');
}
/**
- * @return \OC\Helper
+ * @return \OCP\IHelper
*/
function getHelper() {
return $this->query('AppHelper');
@@ -393,6 +401,15 @@ class Server extends SimpleContainer implements IServerContainer {
}
/**
+ * Returns a logger instance
+ *
+ * @return \OCP\ILogger
+ */
+ function getLogger(){
+ return $this->query('Logger');
+ }
+
+ /**
* Returns a router for generating and matching urls
*
* @return \OCP\Route\IRouter
diff --git a/lib/public/ilogger.php b/lib/public/ilogger.php
new file mode 100644
index 0000000..ad0fcd0
--- /dev/null
+++ b/lib/public/ilogger.php
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Copyright (c) 2014 Bernhard Posselt <dev at bernhard-posselt.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OCP;
+
+/**
+ * Interface ILogger
+ * @package OCP
+ *
+ * This logger interface follows the design guidelines of PSR-3
+ * https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md#3-psrlogloggerinterface
+ */
+interface ILogger {
+ /**
+ * System is unusable.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function emergency($message, array $context = array());
+
+ /**
+ * Action must be taken immediately.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function alert($message, array $context = array());
+
+ /**
+ * Critical conditions.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function critical($message, array $context = array());
+
+ /**
+ * Runtime errors that do not require immediate action but should typically
+ * be logged and monitored.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function error($message, array $context = array());
+
+ /**
+ * Exceptional occurrences that are not errors.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function warning($message, array $context = array());
+
+ /**
+ * Normal but significant events.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function notice($message, array $context = array());
+
+ /**
+ * Interesting events.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function info($message, array $context = array());
+
+ /**
+ * Detailed debug information.
+ *
+ * @param string $message
+ * @param array $context
+ * @return null
+ */
+ function debug($message, array $context = array());
+
+ /**
+ * Logs with an arbitrary level.
+ *
+ * @param mixed $level
+ * @param string $message
+ * @param array $context
+ * @return mixed
+ */
+ function log($level, $message, array $context = array());
+}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list