From 26fbe8dfba2eff823fc17157e8f917c3f8f8f42e Mon Sep 17 00:00:00 2001 From: Adam Magness Date: Tue, 30 Oct 2018 07:59:45 -0400 Subject: [PATCH] Review Modifications make changes based on review. --- boot.php | 14 ------- src/Core/Logger.php | 99 ++++++++++++++++++++++++--------------------- 2 files changed, 53 insertions(+), 60 deletions(-) diff --git a/boot.php b/boot.php index 6b66625c6c..3efd065f3e 100644 --- a/boot.php +++ b/boot.php @@ -106,20 +106,6 @@ define('SSL_POLICY_FULL', 1); define('SSL_POLICY_SELFSIGN', 2); /* @}*/ -/** - * @name Logger - * - * log levels - * @{ - */ -define('LOGGER_WARNING', 0); -define('LOGGER_INFO', 1); -define('LOGGER_TRACE', 2); -define('LOGGER_DEBUG', 3); -define('LOGGER_DATA', 4); -define('LOGGER_ALL', 5); -/* @}*/ - /** * @name Register * diff --git a/src/Core/Logger.php b/src/Core/Logger.php index 1e7099d54f..ad814042db 100644 --- a/src/Core/Logger.php +++ b/src/Core/Logger.php @@ -7,28 +7,39 @@ namespace Friendica\Core; use Friendica\Core\Config; use Friendica\Util\DateTimeFormat; -class Logger +/** + * @brief Logger functions + */ +class Logger extends BaseObject { + // Log levels: + const WARNING = 0; + const INFO = 1; + const TRACE = 2; + const DEBUG = 3; + const DATA = 4; + const ALL = 5; + + public static $levels = []; + + /** + * @brief Get class constants, and avoid using substring. + */ + public function getConstants() + { + $reflectionClass = new ReflectionClass($this); + return $reflectionClass->getConstants(); + } + /** * @brief Logs the given message at the given log level * - * log levels: - * LOGGER_WARNING - * LOGGER_INFO (default) - * LOGGER_TRACE - * LOGGER_DEBUG - * LOGGER_DATA - * LOGGER_ALL - * - * @global array $LOGGER_LEVELS * @param string $msg * @param int $level */ - public static function log($msg, $level = LOGGER_INFO) + public static function log($msg, $level = INFO) { - $a = get_app(); - global $LOGGER_LEVELS; - $LOGGER_LEVELS = []; + $a = self::getApp(); $debugging = Config::get('system', 'debugging'); $logfile = Config::get('system', 'logfile'); @@ -42,18 +53,19 @@ class Logger return; } - if (count($LOGGER_LEVELS) == 0) { - foreach (get_defined_constants() as $k => $v) { - if (substr($k, 0, 7) == "LOGGER_") { - $LOGGER_LEVELS[$v] = substr($k, 7, 7); - } + if (count($levels) == 0) + { + foreach (self::getConstants() as $k => $v) + { + $levels[$v] = $k; } } - $process_id = session_id(); + $processId = session_id(); - if ($process_id == '') { - $process_id = get_app()->process_id; + if ($processId == '') + { + $processId = $a->process_id; } $callers = debug_backtrace(); @@ -66,8 +78,8 @@ class Logger $logline = sprintf("%s@%s\t[%s]:%s:%s:%s\t%s\n", DateTimeFormat::utcNow(DateTimeFormat::ATOM), - $process_id, - $LOGGER_LEVELS[$level], + $processId, + $levels[$level], basename($callers[0]['file']), $callers[0]['line'], $function, @@ -85,50 +97,45 @@ class Logger * to isolate particular elements they are targetting * personally without background noise * - * log levels: - * LOGGER_WARNING - * LOGGER_INFO (default) - * LOGGER_TRACE - * LOGGER_DEBUG - * LOGGER_DATA - * LOGGER_ALL - * - * @global array $LOGGER_LEVELS * @param string $msg * @param int $level */ - public static function devLog($msg, $level = LOGGER_INFO) + public static function devLog($msg, $level = INFO) { - $a = get_app(); + $a = self::getApp(); $logfile = Config::get('system', 'dlogfile'); + if (!$logfile) { return; } $dlogip = Config::get('system', 'dlogip'); - if (!is_null($dlogip) && $_SERVER['REMOTE_ADDR'] != $dlogip) { + + if (!is_null($dlogip) && $_SERVER['REMOTE_ADDR'] != $dlogip) + { return; } - if (count($LOGGER_LEVELS) == 0) { - foreach (get_defined_constants() as $k => $v) { - if (substr($k, 0, 7) == "LOGGER_") { - $LOGGER_LEVELS[$v] = substr($k, 7, 7); - } + if (count($levels) == 0) + { + foreach (self::getConstants() as $k => $v) + { + $levels[$v] = $k; } } - $process_id = session_id(); + $processId = session_id(); - if ($process_id == '') { - $process_id = $a->process_id; + if ($processId == '') + { + $processId = $a->process_id; } $callers = debug_backtrace(); $logline = sprintf("%s@\t%s:\t%s:\t%s\t%s\t%s\n", DateTimeFormat::utcNow(), - $process_id, + $processId, basename($callers[0]['file']), $callers[0]['line'], $callers[1]['function'], @@ -139,4 +146,4 @@ class Logger @file_put_contents($logfile, $logline, FILE_APPEND); $a->saveTimestamp($stamp1, "file"); } -} \ No newline at end of file +}