Handle log_type "nextcloud" more gracefully

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2017-01-05 12:47:27 +01:00
parent 6a0f0403d0
commit 7573fa3148
No known key found for this signature in database
GPG Key ID: E166FD8976B3BAC8
2 changed files with 24 additions and 8 deletions

View File

@ -106,12 +106,8 @@ class Log implements ILogger {
// FIXME: Add this for backwards compatibility, should be fixed at some point probably
if($logger === null) {
// TODO: Drop backwards compatibility for config in the future
$logType = $this->config->getValue('log_type', 'file');
if($logType==='owncloud') {
$logType = 'file';
}
$this->logger = 'OC\\Log\\'.ucfirst($logType);
$this->logger = static::getLogClass($logType);
call_user_func(array($this->logger, 'init'));
} else {
$this->logger = $logger;
@ -327,4 +323,25 @@ class Log implements ILogger {
$msg .= ': ' . json_encode($exception);
$this->error($msg, $context);
}
/**
* @param string $logType
* @return string
* @internal
*/
public static function getLogClass($logType) {
// TODO: Drop backwards compatibility for config in the future
switch (strtolower($logType)) {
case 'owncloud':
case 'nextcloud':
$logType = 'file';
}
$logClass = 'OC\\Log\\' . ucfirst($logType);
if (!class_exists($logClass)) {
$logClass = 'OC\\Log\\File';
}
return $logClass;
}
}

View File

@ -418,9 +418,8 @@ class Server extends ServerContainer implements IServerContainer {
);
});
$this->registerService('Logger', function (Server $c) {
$logClass = $c->query('AllConfig')->getSystemValue('log_type', 'file');
// TODO: Drop backwards compatibility for config in the future
$logger = 'OC\\Log\\' . ucfirst($logClass=='owncloud' ? 'file' : $logClass);
$logType = $c->query('AllConfig')->getSystemValue('log_type', 'file');
$logger = Log::getLogClass($logType);
call_user_func(array($logger, 'init'));
return new Log($logger);