mirror of
https://github.com/friendica/friendica
synced 2025-04-22 06:30:11 +00:00
Add search and filter to log view
This commit is contained in:
parent
b8fc6a8c02
commit
5b9aeeeca9
5 changed files with 248 additions and 81 deletions
|
@ -26,6 +26,7 @@ use Friendica\Core\Renderer;
|
|||
use Friendica\Core\Theme;
|
||||
use Friendica\Module\BaseAdmin;
|
||||
use Friendica\Model\Log\ParsedLogIterator;
|
||||
use Psr\Log\LogLevel;
|
||||
|
||||
class View extends BaseAdmin
|
||||
{
|
||||
|
@ -43,11 +44,34 @@ class View extends BaseAdmin
|
|||
$error = null;
|
||||
|
||||
|
||||
$search = $_GET['q'] ?? '';
|
||||
$filters_valid_values = [
|
||||
'level' => [
|
||||
'',
|
||||
LogLevel::CRITICAL,
|
||||
LogLevel::ERROR,
|
||||
LogLevel::WARNING,
|
||||
LogLevel::NOTICE,
|
||||
LogLevel::INFO,
|
||||
LogLevel::DEBUG,
|
||||
],
|
||||
'context' => ['', 'index', 'worker'],
|
||||
];
|
||||
$filters = [
|
||||
'level' => $_GET['level'] ?? '',
|
||||
'context' => $_GET['context'] ?? '',
|
||||
];
|
||||
foreach($filters as $k=>$v) {
|
||||
if ($v == '' || !in_array($v, $filters_valid_values[$k])) {
|
||||
unset($filters[$k]);
|
||||
}
|
||||
}
|
||||
|
||||
if (!file_exists($f)) {
|
||||
$error = DI::l10n()->t('Error trying to open <strong>%1$s</strong> log file.\r\n<br/>Check to see if file %1$s exist and is readable.', $f);
|
||||
} else {
|
||||
try {
|
||||
$data = new ParsedLogIterator($f, self::LIMIT);
|
||||
$data = new ParsedLogIterator($f, self::LIMIT, $filters, $search);
|
||||
} catch (Exception $e) {
|
||||
$error = DI::l10n()->t('Couldn\'t open <strong>%1$s</strong> log file.\r\n<br/>Check to see if file %1$s is readable.', $f);
|
||||
}
|
||||
|
@ -56,8 +80,11 @@ class View extends BaseAdmin
|
|||
'$title' => DI::l10n()->t('Administration'),
|
||||
'$page' => DI::l10n()->t('View Logs'),
|
||||
'$data' => $data,
|
||||
'$q' => $search,
|
||||
'$filters' => $filters,
|
||||
'$filtersvalues' => $filters_valid_values,
|
||||
'$error' => $error,
|
||||
'$logname' => DI::config()->get('system', 'logfile')
|
||||
'$logname' => DI::config()->get('system', 'logfile'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue