Signed-off-by: Robin Appelman <robin@icewind.nl>tags/v11.0RC2
@@ -1,86 +0,0 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> | |||
* | |||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
namespace OC\Settings\Admin; | |||
use OC\Log\File as LogFile; | |||
use OCP\AppFramework\Http\TemplateResponse; | |||
use OCP\IConfig; | |||
use OCP\Settings\ISettings; | |||
class Logging implements ISettings { | |||
/** @var IConfig */ | |||
private $config; | |||
/** | |||
* @param IConfig $config | |||
*/ | |||
public function __construct(IConfig $config) { | |||
$this->config = $config; | |||
} | |||
/** | |||
* @return TemplateResponse | |||
*/ | |||
public function getForm() { | |||
$logType = $this->config->getSystemValue('log_type', 'file'); | |||
$showLog = ($logType === 'file' || $logType === 'owncloud'); | |||
$numEntriesToLoad = 5; | |||
$entries = LogFile::getEntries($numEntriesToLoad + 1); | |||
$entriesRemaining = count($entries) > $numEntriesToLoad; | |||
$entries = array_slice($entries, 0, $numEntriesToLoad); | |||
$logFileExists = file_exists(LogFile::getLogFilePath()) ; | |||
$logFileSize = $logFileExists ? filesize(LogFile::getLogFilePath()) : 0; | |||
$parameters = [ | |||
'loglevel' => $this->config->getSystemValue('loglevel', 2), | |||
'entries' => $entries, | |||
'entriesremain' => $entriesRemaining, | |||
'doesLogFileExist' => $logFileExists, | |||
'logFileSize' => $logFileSize, | |||
'showLog' => $showLog, | |||
]; | |||
return new TemplateResponse('settings', 'admin/logging', $parameters, ''); | |||
} | |||
/** | |||
* @return string the section ID, e.g. 'sharing' | |||
*/ | |||
public function getSection() { | |||
return 'logging'; | |||
} | |||
/** | |||
* @return int whether the form should be rather on the top or bottom of | |||
* the admin section. The forms are arranged in ascending order of the | |||
* priority values. It is required to return a value between 0 and 100. | |||
* | |||
* E.g.: 70 | |||
*/ | |||
public function getPriority() { | |||
return 0; | |||
} | |||
} |
@@ -332,7 +332,6 @@ class Manager implements IManager { | |||
0 => [new Section('server', $this->l->t('Server settings'), 0)], | |||
5 => [new Section('sharing', $this->l->t('Sharing'), 0)], | |||
45 => [new Section('encryption', $this->l->t('Encryption'), 0)], | |||
90 => [new Section('logging', $this->l->t('Logging'), 0)], | |||
98 => [new Section('additional', $this->l->t('Additional settings'), 0)], | |||
99 => [new Section('tips-tricks', $this->l->t('Tips & tricks'), 0)], | |||
]; | |||
@@ -382,11 +381,6 @@ class Manager implements IManager { | |||
$form = new Admin\Sharing($this->config); | |||
$forms[$form->getPriority()] = [$form]; | |||
} | |||
if($section === 'logging') { | |||
/** @var ISettings $form */ | |||
$form = new Admin\Logging($this->config); | |||
$forms[$form->getPriority()] = [$form]; | |||
} | |||
if($section === 'additional') { | |||
/** @var ISettings $form */ | |||
$form = new Admin\Additional($this->config); |
@@ -41,63 +41,6 @@ use OCP\IConfig; | |||
* @package OC\Settings\Controller | |||
*/ | |||
class LogSettingsController extends Controller { | |||
/** | |||
* @var \OCP\IConfig | |||
*/ | |||
private $config; | |||
/** | |||
* @var \OCP\IL10N | |||
*/ | |||
private $l10n; | |||
/** | |||
* @param string $appName | |||
* @param IRequest $request | |||
* @param IConfig $config | |||
*/ | |||
public function __construct($appName, | |||
IRequest $request, | |||
IConfig $config, | |||
IL10N $l10n) { | |||
parent::__construct($appName, $request); | |||
$this->config = $config; | |||
$this->l10n = $l10n; | |||
} | |||
/** | |||
* set log level for logger | |||
* | |||
* @param int $level | |||
* @return JSONResponse | |||
*/ | |||
public function setLogLevel($level) { | |||
if ($level < 0 || $level > 4) { | |||
return new JSONResponse([ | |||
'message' => (string) $this->l10n->t('log-level out of allowed range'), | |||
], Http::STATUS_BAD_REQUEST); | |||
} | |||
$this->config->setSystemValue('loglevel', $level); | |||
return new JSONResponse([ | |||
'level' => $level, | |||
]); | |||
} | |||
/** | |||
* get log entries from logfile | |||
* | |||
* @param int $count | |||
* @param int $offset | |||
* @return JSONResponse | |||
*/ | |||
public function getEntries($count=50, $offset=0) { | |||
return new JSONResponse([ | |||
'data' => \OC\Log\File::getEntries($count, $offset), | |||
'remain' => count(\OC\Log\File::getEntries(1, $offset + $count)) !== 0, | |||
]); | |||
} | |||
/** | |||
* download logfile | |||
* |
@@ -1,88 +0,0 @@ | |||
<?php | |||
/** | |||
* @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> | |||
* | |||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de> | |||
* | |||
* @license GNU AGPL version 3 or any later version | |||
* | |||
* This program is free software: you can redistribute it and/or modify | |||
* it under the terms of the GNU Affero General Public License as | |||
* published by the Free Software Foundation, either version 3 of the | |||
* License, or (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Affero General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Affero General Public License | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
* | |||
*/ | |||
/** @var \OCP\IL10N $l */ | |||
/** @var array $_ */ | |||
$levels = ['Debug', 'Info', 'Warning', 'Error', 'Fatal']; | |||
$levelLabels = [ | |||
$l->t( 'Everything (fatal issues, errors, warnings, info, debug)' ), | |||
$l->t( 'Info, warnings, errors and fatal issues' ), | |||
$l->t( 'Warnings, errors and fatal issues' ), | |||
$l->t( 'Errors and fatal issues' ), | |||
$l->t( 'Fatal issues only' ), | |||
]; | |||
?> | |||
<div class="section" id="log-section"> | |||
<h2><?php p($l->t('Log'));?></h2> | |||
<?php if ($_['showLog'] && $_['doesLogFileExist']): ?> | |||
<table id="log" class="grid"> | |||
<?php foreach ($_['entries'] as $entry): ?> | |||
<tr> | |||
<td> | |||
<?php p($levels[$entry->level]);?> | |||
</td> | |||
<td> | |||
<?php p($entry->app);?> | |||
</td> | |||
<td class="log-message"> | |||
<?php p($entry->message);?> | |||
</td> | |||
<td class="date"> | |||
<?php if(is_int($entry->time)){ | |||
p(OC_Util::formatDate($entry->time)); | |||
} else { | |||
p($entry->time); | |||
}?> | |||
</td> | |||
<td><?php isset($entry->user) ? p($entry->user) : p('--') ?></td> | |||
</tr> | |||
<?php endforeach;?> | |||
</table> | |||
<p><?php p($l->t('What to log'));?> <select name='loglevel' id='loglevel'> | |||
<?php for ($i = 0; $i < 5; $i++): | |||
$selected = ''; | |||
if ($i == $_['loglevel']): | |||
$selected = 'selected="selected"'; | |||
endif; ?> | |||
<option value='<?php p($i)?>' <?php p($selected) ?>><?php p($levelLabels[$i])?></option> | |||
<?php endfor;?> | |||
</select></p> | |||
<?php if ($_['logFileSize'] > 0): ?> | |||
<a href="<?php print_unescaped(OC::$server->getURLGenerator()->linkToRoute('settings.LogSettings.download')); ?>" class="button" id="downloadLog"><?php p($l->t('Download logfile'));?></a> | |||
<?php endif; ?> | |||
<?php if ($_['entriesremain']): ?> | |||
<input id="moreLog" type="button" value="<?php p($l->t('More'));?>..."> | |||
<input id="lessLog" type="button" value="<?php p($l->t('Less'));?>..."> | |||
<?php endif; ?> | |||
<?php if ($_['logFileSize'] > (100 * 1024 * 1024)): ?> | |||
<br> | |||
<em> | |||
<?php p($l->t('The logfile is bigger than 100 MB. Downloading it may take some time!')); ?> | |||
</em> | |||
<?php endif; ?> | |||
<?php endif; ?> | |||
</div> |