17 use Symfony\Component\Console\Command\Command;
18 use Symfony\Component\Console\Input\InputInterface;
19 use Symfony\Component\Console\Output\OutputInterface;
20 use Symfony\Component\Console\Style\SymfonyStyle;
37 $this->setDescription(
'Show entries from the sys_log database table of the last 24 hours.');
38 $this->setHelp(
'Prints a list of recent sys_log entries.' . LF .
'If you want to get more detailed information, use the --verbose option.');
49 $io =
new SymfonyStyle($input,
$output);
50 $io->title($this->getDescription());
51 $showDetails =
$output->getVerbosity() > OutputInterface::VERBOSITY_NORMAL;
60 $tableHeaders[] =
'Details';
67 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'sys_log');
68 $rowIterator = $queryBuilder
72 $queryBuilder->expr()->gt(
74 $queryBuilder->createNamedParameter(
$GLOBALS[
'EXEC_TIME'] - 24 * 3600, \PDO::PARAM_INT)
77 ->orderBy(
'tstamp',
'DESC')
80 while ($row = $rowIterator->fetch()) {
81 $logData = unserialize($row[
'log_data']);
82 $userInformation = $row[
'userid'];
83 if (!empty($logData[
'originalUser'])) {
84 $userInformation .=
' via ' . $logData[
'originalUser'];
91 sprintf($row[
'details'], $logData[0], $logData[1], $logData[2], $logData[3], $logData[4], $logData[5])
112 $content[] = $result;
114 $io->table($tableHeaders, $content);
129 foreach ($arr as $key => $value) {
130 if (in_array($key, $valueList,
true)) {
131 $str .= (string)$key . trim(
': ' . GeneralUtility::fixed_lgd_cs(str_replace(LF,
'|', (
string)$value), 20)) . LF;