Du könntest folgenden Cronjob definieren:
PHP-Code:
// src/Cron/TrimSystemLogCron.php
namespace App\Cron;
use Contao\Config;
use Contao\CoreBundle\Cron\Cron;
use Contao\CoreBundle\Framework\ContaoFramework;
use Doctrine\DBAL\Connection;
/**
* @Cron("hourly")
*/
class TrimSystemLogCron
{
private $framework;
private $db;
public function __construct(ContaoFramework $framework, Connection $db)
{
$this->framework = $framework;
$this->db = $db;
}
public function __invoke()
{
$this->framework->initialize();
$logPeriod = (int) Config::get('logPeriod');
if ($logPeriod <= 0) {
return;
}
$this->db->executeQuery("DELETE FROM tl_log WHERE tstamp < ?", [time() - $logPeriod]);
}
}
Das löscht veraltete Einträge stündlich aus dem System Log. Statt "hourly" kannst du auch "minutely" oder eine Cron Expression benutzen, um das Interval zu ändern.
Lesezeichen