From dcf0135285f1a515454807cdfe1e819f37a23a86 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov <noreply@fakecake.org> Date: Thu, 25 Feb 2021 15:49:30 +0300 Subject: [PATCH] logger: shorter syntax --- classes/config.php | 4 ++++ classes/handler/public.php | 2 +- classes/logger.php | 24 ++++++++++++++++++------ classes/logger/stdout.php | 2 +- classes/logger/syslog.php | 2 +- classes/mailer.php | 2 +- classes/pref/system.php | 2 +- classes/prefs.php | 10 +++++++--- classes/rpc.php | 4 ++-- classes/rssutils.php | 8 ++++---- classes/userhelper.php | 4 ++-- include/errorhandler.php | 4 ++-- update.php | 2 +- 13 files changed, 45 insertions(+), 25 deletions(-) diff --git a/classes/config.php b/classes/config.php index 95bf3bf71..2c46e1784 100644 --- a/classes/config.php +++ b/classes/config.php @@ -115,6 +115,10 @@ class Config { return self::$instance; } + private function __clone() { + // + } + function __construct() { $ref = new ReflectionClass(get_class($this)); diff --git a/classes/handler/public.php b/classes/handler/public.php index 6ab9d7285..abfe07b8f 100755 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -369,7 +369,7 @@ class Handler_Public extends Handler { $_SESSION["language"] = get_pref(Prefs::USER_LANGUAGE, $_SESSION["uid"]); } - $_SESSION["ref_schema_version"] = get_schema_version(true); + $_SESSION["ref_schema_version"] = get_schema_version(); $_SESSION["bw_limit"] = !!clean($_POST["bw_limit"] ?? false); $_SESSION["safe_mode"] = $safe_mode; diff --git a/classes/logger.php b/classes/logger.php index c917182c1..c227c014c 100755 --- a/classes/logger.php +++ b/classes/logger.php @@ -3,7 +3,7 @@ class Logger { private static $instance; private $adapter; - public static $errornames = array( + const ERROR_NAMES = [ 1 => 'E_ERROR', 2 => 'E_WARNING', 4 => 'E_PARSE', @@ -19,10 +19,14 @@ class Logger { 4096 => 'E_RECOVERABLE_ERROR', 8192 => 'E_DEPRECATED', 16384 => 'E_USER_DEPRECATED', - 32767 => 'E_ALL'); + 32767 => 'E_ALL']; - function log_error($errno, $errstr, $file, $line, $context) { - if ($errno == E_NOTICE) return false; + static function log_error(int $errno, string $errstr, string $file, int $line, $context) { + return self::get_instance()->_log_error($errno, $errstr, $file, $line, $context); + } + + private function _log_error($errno, $errstr, $file, $line, $context) { + //if ($errno == E_NOTICE) return false; if ($this->adapter) return $this->adapter->log_error($errno, $errstr, $file, $line, $context); @@ -30,7 +34,11 @@ class Logger { return false; } - function log($errno, $errstr, $context = "") { + static function log(int $errno, string $errstr, $context = "") { + return self::get_instance()->_log($errno, $errstr, $context); + } + + private function _log($errno, $errstr, $context = "") { if ($this->adapter) return $this->adapter->log_error($errno, $errstr, '', 0, $context); else @@ -57,11 +65,15 @@ class Logger { } } - public static function get() : Logger { + private static function get_instance() : Logger { if (self::$instance == null) self::$instance = new self(); return self::$instance; } + static function get() : Logger { + user_error("Please don't use Logger::get(), call Logger::log(...) instead.", E_USER_DEPRECATED); + return self::get_instance(); + } } diff --git a/classes/logger/stdout.php b/classes/logger/stdout.php index 4dac2e598..645fe8ecf 100644 --- a/classes/logger/stdout.php +++ b/classes/logger/stdout.php @@ -21,7 +21,7 @@ class Logger_Stdout { $priority = LOG_INFO; } - $errname = Logger::$errornames[$errno] . " ($errno)"; + $errname = Logger::ERROR_NAMES[$errno] . " ($errno)"; print "[EEE] $priority $errname ($file:$line) $errstr\n"; diff --git a/classes/logger/syslog.php b/classes/logger/syslog.php index f1e151548..2dd3c4dfd 100644 --- a/classes/logger/syslog.php +++ b/classes/logger/syslog.php @@ -21,7 +21,7 @@ class Logger_Syslog { $priority = LOG_INFO; } - $errname = Logger::$errornames[$errno] . " ($errno)"; + $errname = Logger::ERROR_NAMES[$errno] . " ($errno)"; syslog($priority, "[tt-rss] $errname ($file:$line) $errstr"); diff --git a/classes/mailer.php b/classes/mailer.php index 93f778210..a4270ba88 100644 --- a/classes/mailer.php +++ b/classes/mailer.php @@ -20,7 +20,7 @@ class Mailer { $to_combined = $to_name ? "$to_name <$to_address>" : $to_address; if (Config::get(Config::LOG_SENT_MAIL)) - Logger::get()->log(E_USER_NOTICE, "Sending mail from $from_combined to $to_combined [$subject]: $message"); + Logger::log(E_USER_NOTICE, "Sending mail from $from_combined to $to_combined [$subject]: $message"); // HOOK_SEND_MAIL plugin instructions: // 1. return 1 or true if mail is handled diff --git a/classes/pref/system.php b/classes/pref/system.php index 67f7133c6..85635e753 100644 --- a/classes/pref/system.php +++ b/classes/pref/system.php @@ -129,7 +129,7 @@ class Pref_System extends Handler_Administrative { ?> <tr> <td class='errno'> - <?= Logger::$errornames[$line["errno"]] . " (" . $line["errno"] . ")" ?> + <?= Logger::ERROR_NAMES[$line["errno"]] . " (" . $line["errno"] . ")" ?> </td> <td class='filename'><?= $line["filename"] . ":" . $line["lineno"] ?></td> <td class='errstr'><?= $line["errstr"] . "\n" . $line["context"] ?></td> diff --git a/classes/prefs.php b/classes/prefs.php index 2c17cd353..29e315c22 100644 --- a/classes/prefs.php +++ b/classes/prefs.php @@ -167,6 +167,10 @@ class Prefs { }; } + private function __clone() { + // + } + static function get_all(int $owner_uid, int $profile_id = null) { return self::get_instance()->_get_all($owner_uid, $profile_id); } @@ -204,7 +208,7 @@ class Prefs { } } - if (get_schema_version(true) >= 141) { + if (get_schema_version() >= 141) { // fill in any overrides from the database $sth = $this->pdo->prepare("SELECT pref_name, value FROM ttrss_user_prefs2 WHERE owner_uid = :uid AND @@ -228,7 +232,7 @@ class Prefs { list ($def_val, $type_hint) = self::_DEFAULTS[$pref_name]; - if (get_schema_version(true) < 141) { + if (get_schema_version() < 141) { return Config::cast_to($def_val, $type_hint); } @@ -341,7 +345,7 @@ class Prefs { } function migrate(int $owner_uid, int $profile_id = null) { - if (get_schema_version(true) < 141) + if (get_schema_version() < 141) return; if (!$profile_id) $profile_id = null; diff --git a/classes/rpc.php b/classes/rpc.php index 3abdeb768..a4ee77c11 100755 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -140,7 +140,7 @@ class RPC extends Handler_Protected { $error = Errors::E_SUCCESS; - if (get_schema_version(true) != SCHEMA_VERSION) { + if (get_schema_version() != SCHEMA_VERSION) { $error = Errors::E_SCHEMA_MISMATCH; } @@ -343,7 +343,7 @@ class RPC extends Handler_Protected { $context = clean($_REQUEST['context']); if ($msg) { - Logger::get()->log_error(E_USER_WARNING, + Logger::log_error(E_USER_WARNING, $msg, 'client-js:' . $file, $line, $context); echo json_encode(array("message" => "HOST_ERROR_LOGGED")); diff --git a/classes/rssutils.php b/classes/rssutils.php index 0a4040ef3..b6aecb8c9 100755 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -216,7 +216,7 @@ class RSSUtils { Debug::log("!! Last error: $error_message"); - Logger::get()->log(E_USER_NOTICE, + Logger::log(E_USER_NOTICE, sprintf("Update process for feed %d (%s, owner UID: %d) failed with exit code: %d (%s).", $tline["id"], clean($tline["title"]), $tline["owner_uid"], $exit_code, clean($error_message))); @@ -233,7 +233,7 @@ class RSSUtils { if (!self::update_rss_feed($tline["id"], true)) { global $fetch_last_error; - Logger::get()->log(E_USER_NOTICE, + Logger::log(E_USER_NOTICE, sprintf("Update request for feed %d (%s, owner UID: %d) failed: %s.", $tline["id"], clean($tline["title"]), $tline["owner_uid"], clean($fetch_last_error))); } @@ -241,7 +241,7 @@ class RSSUtils { Debug::log(sprintf("<= %.4f (sec) (not using a separate process)", microtime(true) - $fstarted)); } catch (PDOException $e) { - Logger::get()->log_error(E_USER_WARNING, $e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString()); + Logger::log_error(E_USER_WARNING, $e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString()); try { $pdo->rollback(); @@ -1619,7 +1619,7 @@ class RSSUtils { $sth->execute(); while ($row = $sth->fetch()) { - Logger::get()->log(E_USER_NOTICE, + Logger::log(E_USER_NOTICE, sprintf("Auto disabling feed %d (%s, UID: %d) because it failed to update for %d days.", $row["id"], clean($row["title"]), $row["owner_uid"], Config::get(Config::DAEMON_UNSUCCESSFUL_DAYS_LIMIT))); diff --git a/classes/userhelper.php b/classes/userhelper.php index 0698f6beb..4edcaf368 100644 --- a/classes/userhelper.php +++ b/classes/userhelper.php @@ -47,7 +47,7 @@ class UserHelper { } if (!$user_id) - Logger::get()->log(E_USER_WARNING, "Failed login attempt for $login (service: $service) from " . UserHelper::get_user_ip()); + Logger::log(E_USER_WARNING, "Failed login attempt for $login (service: $service) from " . UserHelper::get_user_ip()); return false; @@ -102,7 +102,7 @@ class UserHelper { if (empty($_SESSION["uid"])) { if (Config::get(Config::AUTH_AUTO_LOGIN) && self::authenticate(null, null)) { - $_SESSION["ref_schema_version"] = get_schema_version(true); + $_SESSION["ref_schema_version"] = get_schema_version(); } else { self::authenticate(null, null, true); } diff --git a/include/errorhandler.php b/include/errorhandler.php index 68e2285c1..a59d7a616 100644 --- a/include/errorhandler.php +++ b/include/errorhandler.php @@ -54,7 +54,7 @@ function ttrss_error_handler($errno, $errstr, $file, $line) { $errstr = truncate_middle($errstr, 16384, " (...) "); if (class_exists("Logger")) - return Logger::get()->log_error($errno, $errstr, $file, $line, $context); + return Logger::log_error($errno, $errstr, $file, $line, $context); } function ttrss_fatal_handler() { @@ -77,7 +77,7 @@ function ttrss_fatal_handler() { if ($last_query) $errstr .= " [Last query: $last_query]"; if (class_exists("Logger")) - return Logger::get()->log_error($errno, $errstr, $file, $line, $context); + return Logger::log_error($errno, $errstr, $file, $line, $context); } return false; diff --git a/update.php b/update.php index 8d8566db7..bcb6d6d12 100755 --- a/update.php +++ b/update.php @@ -242,7 +242,7 @@ Debug::log(sprintf("Exception while updating feed %d: %s (%s:%d)", $options["update-feed"], $e->getMessage(), $e->getFile(), $e->getLine())); - Logger::get()->log_error(E_USER_WARNING, $e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString()); + Logger::log_error(E_USER_WARNING, $e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString()); exit(110); } -- GitLab