Make the object drive the logging backend

This is the other way around then it was.
This commit is contained in:
Bart Visscher 2013-06-27 20:10:45 +02:00
parent 009e9559f3
commit 2eaad58922
2 changed files with 18 additions and 11 deletions

View File

@ -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);
}
}

View File

@ -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);
}
}