From f234709722e680f64a8c23c45fe17ebd1af3d5e3 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Fri, 7 Aug 2020 18:05:50 +0200 Subject: [PATCH] LSlog: add TRACE log level --- doc/conf/LSlog.docbook | 1 + src/conf/config.inc.php | 2 +- src/includes/class/class.LSlog.php | 24 ++++++++++++++----- src/includes/class/class.LSlog_console.php | 2 +- src/includes/class/class.LSlog_logger.php | 11 +++++++++ .../class/class.LSlog_staticLoggerClass.php | 11 +++++++++ src/includes/class/class.LSlog_syslog.php | 1 + src/includes/class/class.LSsession.php | 11 +++++++++ 8 files changed, 55 insertions(+), 8 deletions(-) diff --git a/doc/conf/LSlog.docbook b/doc/conf/LSlog.docbook index 28d24575..617b0b63 100644 --- a/doc/conf/LSlog.docbook +++ b/doc/conf/LSlog.docbook @@ -60,6 +60,7 @@ de l'application. journal de l'application. Les niveaux de journalisation gérés par l'application sont (dans l'ordre du plus petit au plus grand) : + TRACE DEBUG INFO WARNING diff --git a/src/conf/config.inc.php b/src/conf/config.inc.php index c1c5fa73..8ed8e9ef 100644 --- a/src/conf/config.inc.php +++ b/src/conf/config.inc.php @@ -250,7 +250,7 @@ $GLOBALS['LSlog']['loggers'] = array ( ), */ ); -$GLOBALS['LSlog']['level'] = 'INFO'; // DEBUG, INFO, WARNING, ERROR, FATAL +$GLOBALS['LSlog']['level'] = 'INFO'; // TRACE, DEBUG, INFO, WARNING, ERROR, FATAL $GLOBALS['LSlog']['enable'] = true; define('NB_LSOBJECT_LIST',30); diff --git a/src/includes/class/class.LSlog.php b/src/includes/class/class.LSlog.php index ef7a383f..d6143ff1 100644 --- a/src/includes/class/class.LSlog.php +++ b/src/includes/class/class.LSlog.php @@ -46,11 +46,12 @@ class LSlog { // Levels private static $levels=array( - 'DEBUG' => 0, - 'INFO' => 1, - 'WARNING' => 2, - 'ERROR' => 3, - 'FATAL' => 4, + 'TRACE' => 0, + 'DEBUG' => 1, + 'INFO' => 2, + 'WARNING' => 3, + 'ERROR' => 4, + 'FATAL' => 5, ); // Current existing loggers @@ -176,7 +177,7 @@ class LSlog { self :: $level = $level; // Set PHP error/exception handlers - if (self :: $level == 'DEBUG') + if (in_array(self :: $level, array('DEBUG', 'TRACE'))) set_error_handler(array('LSlog', 'php_error'), E_ALL & ~E_STRICT); else set_error_handler(array('LSlog', 'php_error'), E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED); @@ -403,6 +404,17 @@ class LSlog { * Public logging methods */ + /** + * Log a message with level TRACE + * + * @param[in] $message The message to log + * + * @retval void + **/ + public static function trace($message) { + self :: logging('TRACE', $message); + } + /** * Log a message with level DEBUG * diff --git a/src/includes/class/class.LSlog_console.php b/src/includes/class/class.LSlog_console.php index 83332fb0..de0e482c 100644 --- a/src/includes/class/class.LSlog_console.php +++ b/src/includes/class/class.LSlog_console.php @@ -55,7 +55,7 @@ class LSlog_console extends LSlog_handler { **/ public function logging($level, $message, $logger=null) { return fwrite( - (in_array($level, array('INFO', 'DEBUG'))?$this -> stdout:$this -> stderr), + (in_array($level, array('INFO', 'DEBUG', 'TRACE'))?$this -> stdout:$this -> stderr), $this -> format($level, $message, $logger)."\n" ); } diff --git a/src/includes/class/class.LSlog_logger.php b/src/includes/class/class.LSlog_logger.php index a2cf46b7..6b87cec3 100644 --- a/src/includes/class/class.LSlog_logger.php +++ b/src/includes/class/class.LSlog_logger.php @@ -123,6 +123,17 @@ class LSlog_logger { * Public logging methods */ + /** + * Log a message with level DEBUG + * + * @param[in] $message The message to log + * + * @retval void + **/ + public function trace($message) { + $this -> logging('TRACE', $message); + } + /** * Log a message with level DEBUG * diff --git a/src/includes/class/class.LSlog_staticLoggerClass.php b/src/includes/class/class.LSlog_staticLoggerClass.php index 3ff65c96..c13ccf14 100644 --- a/src/includes/class/class.LSlog_staticLoggerClass.php +++ b/src/includes/class/class.LSlog_staticLoggerClass.php @@ -52,6 +52,17 @@ class LSlog_staticLoggerClass { LSlog :: get_logger(get_called_class()) -> exception($exception, $prefix, $fatal); } + /** + * Log a message with level TRACE + * + * @param[in] $message The message to log + * + * @retval void + **/ + protected static function log_trace($message) { + self :: log('TRACE', $message); + } + /** * Log a message with level DEBUG * diff --git a/src/includes/class/class.LSlog_syslog.php b/src/includes/class/class.LSlog_syslog.php index 1f1959ca..37564463 100644 --- a/src/includes/class/class.LSlog_syslog.php +++ b/src/includes/class/class.LSlog_syslog.php @@ -40,6 +40,7 @@ class LSlog_syslog extends LSlog_handler { 'NOTICE' => LOG_NOTICE, // normal, but significant, condition 'INFO' => LOG_INFO, // informational message 'DEBUG' => LOG_DEBUG, // debug-level message + 'TRACE' => LOG_DEBUG, // also debug-level message ); // Default syslog priority (used if level is not provided or invalid) diff --git a/src/includes/class/class.LSsession.php b/src/includes/class/class.LSsession.php index 281f176d..281a2cfe 100644 --- a/src/includes/class/class.LSsession.php +++ b/src/includes/class/class.LSsession.php @@ -240,6 +240,17 @@ class LSsession { } } + /** + * Log a message with level TRACE + * + * @param[in] $message The message to log + * + * @retval void + **/ + protected static function log_trace($message) { + self :: log('TRACE', $message); + } + /** * Log a message with level DEBUG *