From a6635f15c5303405f789b6fd2f908d53083d1549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffen=20Schro=CC=88der?= Date: Thu, 15 May 2014 13:04:05 +0200 Subject: [PATCH] improved error logging --- application/core/ErrorHandler.php | 8 +++---- application/core/Files/FileUtil.php | 6 ++--- application/core/ManiaControl.php | 36 ++++++++++++++--------------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/application/core/ErrorHandler.php b/application/core/ErrorHandler.php index 9adc80de..c6c8fafc 100644 --- a/application/core/ErrorHandler.php +++ b/application/core/ErrorHandler.php @@ -54,7 +54,7 @@ class ErrorHandler { $traceString = $exception->getTraceAsString(); $logMessage = $message . PHP_EOL . 'Class: ' . $exceptionClass . PHP_EOL . 'Trace:' . PHP_EOL . $traceString; - logMessage($logMessage); + $this->maniaControl->log($logMessage); if ($this->reportErrors) { $error = array(); @@ -142,7 +142,7 @@ class ErrorHandler { $traceString = $this->parseBackTrace(debug_backtrace()); $logMessage = $message . PHP_EOL . 'File&Line: ' . $fileLine . PHP_EOL . 'Trace: ' . $traceString; - logMessage($logMessage); + $this->maniaControl->log($logMessage); if ($this->reportErrors && !$this->isUserErrorNumber($errorNumber)) { $error = array(); @@ -255,7 +255,7 @@ class ErrorHandler { * @return bool */ private function isUserErrorNumber($errorNumber) { - return ($errorNumber === E_USER_ERROR || $errorNumber === E_USER_WARNING || $errorNumber === E_USER_NOTICE || $errorNumber === E_USER_DEPRECATED); + return ($errorNumber & E_USER_ERROR || $errorNumber & E_USER_WARNING || $errorNumber & E_USER_NOTICE || $errorNumber & E_USER_DEPRECATED); } /** @@ -265,7 +265,7 @@ class ErrorHandler { * @return bool */ private function shouldStopExecution($errorNumber) { - return ($errorNumber === E_ERROR || $errorNumber === E_USER_ERROR || $errorNumber === E_FATAL); + return ($errorNumber & E_ERROR || $errorNumber & E_USER_ERROR || $errorNumber & E_FATAL); } /** diff --git a/application/core/Files/FileUtil.php b/application/core/Files/FileUtil.php index 68d2dd14..0693f202 100644 --- a/application/core/Files/FileUtil.php +++ b/application/core/Files/FileUtil.php @@ -2,8 +2,8 @@ namespace ManiaControl\Files; -use ManiaControl\Utils\Formatter; use ManiaControl\ManiaControl; +use ManiaControl\Utils\Formatter; /** * Files Utility Class @@ -77,11 +77,11 @@ abstract class FileUtil { public static function loadConfig($fileName) { $fileLocation = ManiaControlDir . 'configs' . DIRECTORY_SEPARATOR . $fileName; if (!file_exists($fileLocation)) { - trigger_error("Config file doesn't exist! ({$fileName})"); + logMessage("Config File doesn't exist! ({$fileName})"); return null; } if (!is_readable($fileLocation)) { - trigger_error("Config file isn't readable! Please check your file permissions. ({$fileName})"); + logMessage("Config File isn't readable! Please check the File Permissions. ({$fileName})"); return null; } return simplexml_load_file($fileLocation); diff --git a/application/core/ManiaControl.php b/application/core/ManiaControl.php index 2708df7a..9c41e8e6 100644 --- a/application/core/ManiaControl.php +++ b/application/core/ManiaControl.php @@ -156,13 +156,29 @@ class ManiaControl implements CommandListener, TimerListener { $configFileName = ($configId ? $configId : 'server.xml'); $this->config = FileUtil::loadConfig($configFileName); if (!$this->config) { - trigger_error("Error loading Configuration XML-File! ('{$configFileName}')", E_USER_ERROR); + $this->quit("Error loading Configuration XML-File! ('{$configFileName}')", true); } if (!$this->config->server->port || $this->config->server->port == 'port') { - trigger_error("Your Configuration File ('{$configFileName}') doesn't seem to be maintained. Please check it again!", E_USER_ERROR); + $this->quit("Your Configuration File ('{$configFileName}') doesn't seem to be maintained. Please check it again!", true); } } + /** + * Quit ManiaControl and log the given message + * + * @param string $message + * @param bool $errorPrefix + */ + public function quit($message = null, $errorPrefix = false) { + if ($message) { + if ($errorPrefix) { + $message = '[ERROR] ' . $message; + } + $this->log($message); + } + exit(); + } + /** * Check Connection */ @@ -265,22 +281,6 @@ class ManiaControl implements CommandListener, TimerListener { $this->quit("ManiaControl Shutdown requested by '{$player->login}'!"); } - /** - * Quit ManiaControl and log the given message - * - * @param string $message - * @param bool $errorPrefix - */ - public function quit($message = null, $errorPrefix = false) { - if ($message) { - if ($errorPrefix) { - $message = '[ERROR] ' . $message; - } - $this->log($message); - } - exit(); - } - /** * Handle PHP Process Shutdown */