From 865cd96f5eec9117369dbb37c7eaabf55ef6b097 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 20 Feb 2014 09:01:18 +0100 Subject: [PATCH] [IMPROVED] Allow debug console log to logfile * Needs logging level set to 7 in security config * Needs debugging enabled in global config --- public/include/autoloader.inc.php | 2 +- public/include/classes/debug.class.php | 6 ++++-- public/include/classes/logger.class.php | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/public/include/autoloader.inc.php b/public/include/autoloader.inc.php index 2e2285af..cea1a7a3 100644 --- a/public/include/autoloader.inc.php +++ b/public/include/autoloader.inc.php @@ -10,9 +10,9 @@ if (empty($config['algorithm']) || $config['algorithm'] == 'scrypt') { } // Default classes -require_once(CLASS_DIR . '/debug.class.php'); require_once(INCLUDE_DIR . '/lib/KLogger.php'); require_once(CLASS_DIR . '/logger.class.php'); +require_once(CLASS_DIR . '/debug.class.php'); if ($config['mysql_filter']) { require_once(CLASS_DIR . '/strict.class.php'); } diff --git a/public/include/classes/debug.class.php b/public/include/classes/debug.class.php index de5c9435..72a9f510 100644 --- a/public/include/classes/debug.class.php +++ b/public/include/classes/debug.class.php @@ -31,7 +31,8 @@ class Debug { * @param integer $DEBUG [optional] Enable (>=1) or disable (0) debugging * @return none */ - function __construct($DEBUG=0) { + function __construct($log, $DEBUG=0) { + $this->log = $log; $this->DEBUG = $DEBUG; if ($DEBUG >= 1) { $this->floatStartTime = microtime(true); @@ -82,6 +83,7 @@ class Debug { 'backtrace' => $this->getBacktrace(), 'message' => $msg, ); + $this->log->log("debug", $msg); } } @@ -108,5 +110,5 @@ class Debug { } // Instantiate this class -$debug = new Debug($config['DEBUG']); +$debug = new Debug($log, $config['DEBUG']); ?> diff --git a/public/include/classes/logger.class.php b/public/include/classes/logger.class.php index 31a172cf..eb7b30e5 100644 --- a/public/include/classes/logger.class.php +++ b/public/include/classes/logger.class.php @@ -7,15 +7,16 @@ class Logger { if ($config['logging']['enabled'] && $config['logging']['level'] > 0) { $this->KLogger = KLogger::instance($config['logging']['path'], $config['logging']['level']); $this->logging = true; + $this->floatStartTime = microtime(true); } } public function log($strType, $strMessage) { // Logmask, we add some infos into the KLogger - $strMask = "[ %12s ] [ %8s | %-8s ] : %s"; + $strMask = "[ %12s ] [ %8s | %-8s ] [ %7.7s ] : %s"; $strIPAddress = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'unknown'; $strPage = isset($_REQUEST['page']) ? $_REQUEST['page'] : 'none'; $strAction = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'none'; - $strMessage = sprintf($strMask, $strIPAddress, $strPage, $strAction, $strMessage); + $strMessage = sprintf($strMask, $strIPAddress, $strPage, $strAction, number_format(round((microtime(true) - $this->floatStartTime) * 1000, 2), 2), $strMessage); if ($this->logging) { switch ($strType) { case 'emerg':