From: Bart Visscher Date: Thu, 27 Jun 2013 18:10:45 +0000 (+0200) Subject: Make the object drive the logging backend X-Git-Tag: v6.0.0alpha2~569^2~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2eaad589221a9a189cece52390873f9bd27f113b;p=nextcloud-server.git Make the object drive the logging backend This is the other way around then it was. --- diff --git a/lib/legacy/log.php b/lib/legacy/log.php index 4e6642b6a2f..a316051d5af 100644 --- a/lib/legacy/log.php +++ b/lib/legacy/log.php @@ -23,6 +23,14 @@ class OC_Log { const ERROR=3; const FATAL=4; + static private $level_funcs = array( + self::DEBUG => 'debug', + self::INFO => 'info', + self::WARN => 'warning', + self::ERROR => 'error', + self::FATAL => 'emergency', + ); + static public $enabled = true; static protected $class = null; @@ -34,12 +42,9 @@ class OC_Log { */ public static function write($app, $message, $level) { if (self::$enabled) { - if (!self::$class) { - self::$class = 'OC_Log_'.ucfirst(OC_Config::getValue('log_type', 'owncloud')); - call_user_func(array(self::$class, 'init')); - } - $log_class=self::$class; - $log_class::write($app, $message, $level); + $context = array('app' => $app); + $func = array(self::$object, self::$level_funcs[$level]); + call_user_func($func, $message, $context); } } diff --git a/lib/log.php b/lib/log.php index 442872af9c4..2e26ccad2da 100644 --- a/lib/log.php +++ b/lib/log.php @@ -19,10 +19,6 @@ namespace OC; */ class Log { - const NOTICE=5; - const CRITICAL=6; - const ALERT=7; - /** * System is unusable. * @@ -114,6 +110,11 @@ class Log { $this->log(\OC_Log::DEBUG, $message, $context); } + public function __construct() { + $this->log_class = 'OC_Log_'.ucfirst(\OC_Config::getValue('log_type', 'owncloud')); + call_user_func(array($this->log_class, 'init')); + } + /** * Logs with an arbitrary level. * @@ -127,6 +128,7 @@ class Log { } else { $app = 'no app in context'; } - \OC_Log::write($app, $message, $level); + $log_class=$this->log_class; + $log_class::write($app, $message, $level); } }