From 6062aa1f9587957c8f28cb766263fd0ef53bb1b0 Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Tue, 9 Jan 2024 12:33:41 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20Notice,=20est=20le=20niveau=20de=20log?= =?UTF-8?q?=20mini=20par=20d=C3=A9faut,=20pas=20Info.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Par ailleurs, la constante `_LOG_FILTRE_GRAVITE` qui reste pour le moment reçoit une valeur `Psr\Log\LogLevel::*` plutôt qu’une constante SPIP dépréciée. On accepte aussi que ça soit un enum `Monolog\Level` également --- ecrire/bootstrap/config/globals.php | 2 -- ecrire/bootstrap/inc/logging.php | 25 ++++++++++++++++++++++++- ecrire/inc_version.php | 8 ++++++-- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/ecrire/bootstrap/config/globals.php b/ecrire/bootstrap/config/globals.php index 56ba04f379..f21055ff8b 100644 --- a/ecrire/bootstrap/config/globals.php +++ b/ecrire/bootstrap/config/globals.php @@ -67,8 +67,6 @@ global $nombre_de_logs = 4; $taille_des_logs = 100; -// on peut definir _LOG_FILTRE_GRAVITE dans mes_options.php - // Prefixe des tables dans la base de donnees // (a modifier pour avoir plusieurs sites SPIP dans une seule base) $table_prefix = 'spip'; diff --git a/ecrire/bootstrap/inc/logging.php b/ecrire/bootstrap/inc/logging.php index 93ebeaf87f..f50b1f616d 100644 --- a/ecrire/bootstrap/inc/logging.php +++ b/ecrire/bootstrap/inc/logging.php @@ -2,6 +2,7 @@ use Monolog\Level; use Psr\Log\LoggerInterface; +use Psr\Log\LogLevel; use Spip\Component\Filesystem\Filesystem; use Spip\Component\Logger\Config; use Spip\Component\Logger\Factory; @@ -54,7 +55,29 @@ function spip_logger(?string $name = null): LoggerInterface { // échappement des log 'brut' => defined('_LOG_BRUT') ? constant('_LOG_BRUT') : null, // à quel level on commence à logguer - 'max_level' => defined('_LOG_FILTRE_GRAVITE') ? $spipToMonologLevels[constant('_LOG_FILTRE_GRAVITE')] ?? Level::Info : Level::Info, + 'max_level' => (function() use ($spipToMonologLevels): Level { + if (!defined('_LOG_FILTRE_GRAVITE')) { + return Level::Notice; + } + $level = constant('_LOG_FILTRE_GRAVITE'); + if ($level instanceof Level) { + return $level; + } + if (isset($spipToMonologLevels[$level])) { + return $spipToMonologLevels[$level]; + } + return match($level) { + LogLevel::EMERGENCY => Level::Emergency, + LogLevel::ALERT => Level::Alert, + LogLevel::CRITICAL => Level::Critical, + LogLevel::CRITICAL => Level::Error, + LogLevel::CRITICAL => Level::Warning, + LogLevel::CRITICAL => Level::Notice, + LogLevel::CRITICAL => Level::Info, + LogLevel::CRITICAL => Level::Debug, + default => Level::Notice, + }; + })(), // rotation: nombre de fichiers 'max_files' => $GLOBALS['nombre_de_logs'] ??= 4, // rotation: taille max d’un fichier diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 6c6146c521..0e2443a923 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -9,6 +9,7 @@ * Ce programme est un logiciel libre distribué sous licence GNU/GPL. * \***************************************************************************/ +use Psr\Log\LogLevel; use Spip\ErrorHandler; /** @@ -120,8 +121,11 @@ if (@is_readable(_CACHE_PLUGINS_OPT) && @is_readable(_CACHE_PLUGINS_PATH)) { spip_initialisation_suite(); if (!defined('_LOG_FILTRE_GRAVITE')) { - /** niveau maxi d'enregistrement des logs */ - define('_LOG_FILTRE_GRAVITE', _LOG_INFO_IMPORTANTE); + /** + * Niveau maxi d'enregistrement des logs + * @var LogLevel::* + */ + define('_LOG_FILTRE_GRAVITE', LogLevel::NOTICE); } if (!defined('_OUTILS_DEVELOPPEURS')) { -- GitLab