#3 docu log
This commit is contained in:
parent
1d284dad3c
commit
f2d7596be5
@ -1,12 +1,26 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Error handler Class provided by System to derive your own loghandlers from.
|
||||
*/
|
||||
class error_handler {
|
||||
//Error Mask E_ALL, E_NOTICE ...
|
||||
public static function MASK(){
|
||||
throw new \RuntimeException("Implement this");}
|
||||
//Errorhandler
|
||||
public static function CALL(\Exception $E, $thrown){
|
||||
throw new \RuntimeException("Implement this");}
|
||||
/**
|
||||
* Call function to handle exceptions
|
||||
*
|
||||
* @param \Exception $E Thrown Execption to be handled
|
||||
* @param bool $thrown Was the Exception thrown?
|
||||
* @return bool Returns true or false.
|
||||
*/
|
||||
public static function CALL(\Exception $E, $thrown){}
|
||||
}
|
||||
@ -1,21 +1,34 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
//Register this before every other handler, cuz this will need to handle every single error.
|
||||
//And only the first ErrorHandler will be called if he returns true in CALL.
|
||||
class error_handler_dbwriter extends \SYSTEM\LOG\error_handler {
|
||||
/**
|
||||
* Error handler Class provided by System to log to the database.
|
||||
* Register this before every other handler, cuz this will need to handle every single error.
|
||||
*/
|
||||
class error_handler_dbwriter extends \SYSTEM\LOG\error_handler {
|
||||
/**
|
||||
* Call function to handle exceptions
|
||||
*
|
||||
* @param \Exception $E Thrown Execption to be handled
|
||||
* @param bool $thrown Was the Exception thrown?
|
||||
* @return bool Returns true or false.
|
||||
*/
|
||||
public static function CALL(\Exception $E, $thrown){
|
||||
try{
|
||||
if(\property_exists(get_class($E), 'logged') && $E->logged){
|
||||
return false;} //alrdy logged(this prevents proper thrown value for every system exception)
|
||||
$result = \SYSTEM\SQL\SYS_LOG_INSERT::QI( /*array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(),
|
||||
getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5),
|
||||
$_SERVER["SERVER_NAME"],$_SERVER["SERVER_PORT"],$_SERVER['REQUEST_URI'], serialize($_POST),
|
||||
array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null,
|
||||
array_key_exists('HTTP_USER_AGENT',$_SERVER) ? $_SERVER['HTTP_USER_AGENT'] : null,
|
||||
($user = \SYSTEM\SECURITY\security::getUser()) ? $user->id : null, $thrown ? 1 : 0),*/
|
||||
array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(),
|
||||
$result = \SYSTEM\SQL\SYS_LOG_INSERT::QI(array(
|
||||
get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(),
|
||||
getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5),
|
||||
$_SERVER["SERVER_NAME"],$_SERVER["SERVER_PORT"],$_SERVER['REQUEST_URI'], serialize($_POST),
|
||||
array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null,
|
||||
|
||||
@ -1,15 +1,34 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Error handler Class provided by System to return the Error as JSON.
|
||||
* Register this Handler as last one
|
||||
*/
|
||||
class error_handler_jsonoutput extends \SYSTEM\LOG\error_handler {
|
||||
//Only those who die!
|
||||
/**
|
||||
* Call function to handle exceptions
|
||||
*
|
||||
* @param \Exception $E Thrown Execption to be handled
|
||||
* @param bool $thrown Was the Exception thrown?
|
||||
* @return bool Returns true or false.
|
||||
*/
|
||||
public static function CALL(\Exception $E, $thrown){
|
||||
if($thrown){
|
||||
try{
|
||||
echo \SYSTEM\LOG\JsonResult::error($E);
|
||||
} catch (\Exception $E){} //Error -> Ignore
|
||||
return die(); //die is required cuz else some fatals cant be catched properly
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
class COUNTER extends \SYSTEM\LOG\INFO {}
|
||||
|
||||
/**
|
||||
* Counter Log Class provided by System to count calls to the Site.
|
||||
*/
|
||||
class COUNTER extends \SYSTEM\LOG\INFO {}
|
||||
@ -1,5 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
class CRON extends \SYSTEM\LOG\INFO{}
|
||||
|
||||
/**
|
||||
* Cron Log Class provided by System for Cron Messages.
|
||||
*/
|
||||
class CRON extends \SYSTEM\LOG\INFO{}
|
||||
@ -1,4 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Deprecated Log Class provided by System for marking code as Deprecated.
|
||||
*/
|
||||
class DEPRECATED extends \SYSTEM\LOG\TODO {}
|
||||
@ -1,4 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Error Log Class provided by System for all kinds of Errors.
|
||||
*/
|
||||
class ERROR extends \SYSTEM\LOG\TODO {}
|
||||
@ -1,4 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Error Exception Log Class provided by System for Errors Exceptions.
|
||||
*/
|
||||
class ERROR_EXCEPTION extends \SYSTEM\LOG\SYSTEM_ERROR_EXCEPTION {}
|
||||
@ -1,5 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
class INFO extends \SYSTEM\LOG\SYSTEM_EXCEPTION {}
|
||||
|
||||
/**
|
||||
* Info Log Class provided by System for logging Infos.
|
||||
*/
|
||||
class INFO extends \SYSTEM\LOG\SYSTEM_EXCEPTION {}
|
||||
@ -1,4 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Shutdown Exception Class provided by System for logging Shutdown Exceptions.
|
||||
*/
|
||||
class SHUTDOWN_EXCEPTION extends \SYSTEM\LOG\SYSTEM_ERROR_EXCEPTION {}
|
||||
@ -1,11 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* System Exception Class provided by System for logging all kinds of System Exceptions.
|
||||
* All other error exception Classes are derived from this.
|
||||
*/
|
||||
class SYSTEM_ERROR_EXCEPTION extends \ErrorException {
|
||||
/** bool Variable to store if the Exception was logged already */
|
||||
public $logged = false;
|
||||
/**
|
||||
* Construct the Error
|
||||
*
|
||||
* @param string $message Error Message
|
||||
* @param int $code Error Code
|
||||
* @param int $severity Severity of the Error
|
||||
* @param string $filename Filename where the Error occurred
|
||||
* @param int $lineno Line number where the Error occurred
|
||||
* @param \Exception $previous Previous Error leading to this one.
|
||||
*/
|
||||
public function __construct($message = "", $code = 1, $severity = 0, $filename = "", $lineno = 0, $previous = NULL){
|
||||
parent::__construct($message, $code, $severity, $filename, $lineno, $previous);
|
||||
\SYSTEM\LOG\log::__exception_handler($this,false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,12 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* System Exception Class provided by System for logging all kinds of System Exceptions.
|
||||
* All other log Classes are derived from this.
|
||||
*/
|
||||
class SYSTEM_EXCEPTION extends \Exception {
|
||||
/** bool Variable to store if the Exception was logged already */
|
||||
public $logged = false;
|
||||
/** bool Variable to store if the Exceptions was logged as Todo */
|
||||
public $todo_logged = false;
|
||||
|
||||
/**
|
||||
* Construct the Error
|
||||
*
|
||||
* @param string $message Error Message
|
||||
* @param int $code Error Code
|
||||
* @param \Exception $previous Previous Error leading to this one.
|
||||
*/
|
||||
public function __construct($message = "", $code = 1, $previous = NULL){
|
||||
parent::__construct($message, $code, $previous);
|
||||
\SYSTEM\LOG\log::__exception_handler($this,false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,7 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Todo Class provided by System for logging todos.
|
||||
*/
|
||||
class TODO extends \SYSTEM\LOG\SYSTEM_EXCEPTION {
|
||||
/**
|
||||
* Construct the Error and logs it to the Todo aswell
|
||||
*
|
||||
* @param string $message Error Message
|
||||
* @param int $code Error Code
|
||||
* @param \Exception $previous Previous Error leading to this one.
|
||||
*/
|
||||
public function __construct($message = "", $code = 1, $previous = NULL){
|
||||
parent::__construct($message, $code, $previous);
|
||||
\SYSTEM\SAI\saimod_sys_todo::exception($this,false);}
|
||||
|
||||
@ -1,13 +1,33 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Translateable Error Class provided by System for serving Multilanguage Errors from Database.
|
||||
*/
|
||||
class TranslatableError extends \SYSTEM\LOG\ERROR {
|
||||
/**
|
||||
* Construct the Error and logs it. Requests the Error String from db based on a given string_id.
|
||||
* Result can varry upon callers locale settings.
|
||||
*
|
||||
* @param string $string_id String Id from Text Database
|
||||
* @param int $code Error Code
|
||||
* @param \Exception $previous Previous Error leading to this one.
|
||||
* @param string $locale Language of the Error to be thrown. Can be Null to use user's settings
|
||||
*/
|
||||
public function __construct($string_id, $code = 0, $previous = NULL , $locale = NULL){
|
||||
$message = \SYSTEM\PAGE\text::get($string_id, $locale);
|
||||
|
||||
if(!$message){
|
||||
throw new \SYSTEM\LOG\ERROR("Could not retrive Errortranslation: ".$string_id);}
|
||||
|
||||
parent::__construct($message, $code, $previous);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
/**
|
||||
* Warning Class provided by System for logging Warnings.
|
||||
*/
|
||||
class WARNING extends \SYSTEM\LOG\TODO {}
|
||||
@ -1,2 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
|
||||
/**
|
||||
* Deprecated Log Class provided by System for marking code as Deprecated.
|
||||
*/
|
||||
class DEPRECATED extends \SYSTEM\LOG\DEPRECATED {}
|
||||
@ -1,2 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
|
||||
/**
|
||||
* Error Log Class provided by System for all kinds of Errors.
|
||||
*/
|
||||
class ERROR extends \SYSTEM\LOG\ERROR {}
|
||||
@ -1,3 +1,17 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
|
||||
/**
|
||||
* Info Log Class provided by System for logging Infos.
|
||||
*/
|
||||
class INFO extends \SYSTEM\LOG\INFO {}
|
||||
|
||||
@ -1,2 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
|
||||
/**
|
||||
* Todo Class provided by System for logging todos.
|
||||
*/
|
||||
class TODO extends \SYSTEM\LOG\TODO {}
|
||||
@ -1,2 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
|
||||
/**
|
||||
* Warning Class provided by System for logging Warnings.
|
||||
*/
|
||||
class WARNING extends \SYSTEM\LOG\WARNING {}
|
||||
74
log/log.php
74
log/log.php
@ -1,15 +1,32 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
//ini_set('error_prepend_string', '{querytime: 0.0, status: false, result: { class: "FatalError",message: "');
|
||||
//ini_set('error_append_string', '", code: 1, file: "unknown", line: 0, trace: }}');
|
||||
|
||||
class log {
|
||||
/**
|
||||
* Log Class provided by System to manage log handlers.
|
||||
*/
|
||||
class log {
|
||||
/** string Variable to store hander function call name */
|
||||
const HANDLER_FUNC_CALL = 'CALL';
|
||||
|
||||
/** array Variable to store all registred log handlers */
|
||||
private static $handlers = array();
|
||||
|
||||
//$handler = string with classname
|
||||
/**
|
||||
* Register a Log Handler
|
||||
*
|
||||
* @param class $handler Classname of the handler to be registered
|
||||
* @return null Returns null.
|
||||
*/
|
||||
public static function registerHandler($handler){
|
||||
if( !class_exists($handler) ||
|
||||
!\method_exists($handler,self::HANDLER_FUNC_CALL)){
|
||||
@ -22,24 +39,60 @@ class log {
|
||||
//ob_start ('\SYSTEM\LOG\log::__fatal_error_handler');
|
||||
}
|
||||
|
||||
/**
|
||||
* Call handlers function upon error
|
||||
*
|
||||
* @param \Exception $E Thrown Execption to be handled
|
||||
* @param bool $thrown Was the Exception thrown?
|
||||
* @return bool Returns true or false.
|
||||
*/
|
||||
private static function call_handlers(\Exception $E, $thrown = true){
|
||||
foreach(self::$handlers as $handler){
|
||||
if( \call_user_func_array(array($handler,self::HANDLER_FUNC_CALL),array($E, $thrown))){
|
||||
return true;}}
|
||||
return false;
|
||||
}
|
||||
return false;}
|
||||
|
||||
/**
|
||||
* Exception Handler for System-log handling
|
||||
*
|
||||
* @param \Exception $E Thrown Execption to be handled
|
||||
* @param bool $thrown Was the Exception thrown?
|
||||
* @return bool Returns true or false depending on thrown
|
||||
*/
|
||||
public static function __exception_handler(\Exception $E, $thrown = true){
|
||||
return self::call_handlers($E, $thrown) && $thrown;}
|
||||
|
||||
/**
|
||||
* Error Handler for System-log handling
|
||||
*
|
||||
* @param int $code Errorcode
|
||||
* @param string $message Error Message
|
||||
* @param string $file Error File
|
||||
* @param string $line Error File-Line
|
||||
* @param bool $thrown Was the Error thrown?
|
||||
* @return bool Returns true or false
|
||||
*/
|
||||
public static function __error_handler($code, $message, $file, $line, $thrown = true){
|
||||
return self::call_handlers(new \SYSTEM\LOG\ERROR_EXCEPTION($message, 1, $code, $file, $line) ,$thrown);}
|
||||
|
||||
/**
|
||||
* Shutdown Handler for System-log handling
|
||||
*
|
||||
* @param bool $thrown Was the Error thrown?
|
||||
* @return bool Returns true or false
|
||||
*/
|
||||
public static function __shutdown_handler($thrown = true) {
|
||||
if( ($error = error_get_last()) !== NULL && !$error['type'] === E_DEPRECATED) { //http://www.dreamincode.net/forums/topic/284506-having-trouble-supressing-magic-quotes-gpc-fatal-errors/
|
||||
return self::call_handlers(new \SYSTEM\LOG\SHUTDOWN_EXCEPTION($error["message"], 1, $error["type"],$error["file"],$error["line"]) ,$thrown);}
|
||||
}
|
||||
return self::call_handlers(new \SYSTEM\LOG\SHUTDOWN_EXCEPTION($error["message"], 1, $error["type"],$error["file"],$error["line"]) ,$thrown);}}
|
||||
|
||||
/**
|
||||
* Fatal Error Handler for System-log handling
|
||||
* (unused - experimental)
|
||||
*
|
||||
* @param string $bufferContent Website contens before sent to user
|
||||
* @param bool $thrown Was the Error thrown?
|
||||
* @return string Returns the buffercontent or an json error.
|
||||
*/
|
||||
public static function __fatal_error_handler($bufferContent, $thrown = true){
|
||||
if( ($error = error_get_last()) !== NULL && !$error['type'] === E_DEPRECATED){ //seams like we cannot call anything but core stuff
|
||||
$result = array('querytime' => 0, 'status' => false, 'result' => $error);
|
||||
@ -48,5 +101,4 @@ class log {
|
||||
return json_encode($result);}
|
||||
return $bufferContent;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,5 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SYSTEM\SQL;
|
||||
|
||||
/**
|
||||
* QQ to delete a log entry by id
|
||||
*/
|
||||
class SYS_LOG_DEL extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function pgsql(){return
|
||||
|
||||
@ -1,5 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SYSTEM\SQL;
|
||||
|
||||
/**
|
||||
* QQ to insert a new log entry
|
||||
*/
|
||||
class SYS_LOG_INSERT extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function pgsql(){return
|
||||
|
||||
@ -1,5 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SYSTEM\SQL;
|
||||
|
||||
/**
|
||||
* QQ to find all long entries for this month, limited by 10000
|
||||
*/
|
||||
class SYS_LOG_MONTH extends \SYSTEM\DB\QP {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function pgsql(){return
|
||||
|
||||
@ -1,5 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\SQL
|
||||
*/
|
||||
namespace SYSTEM\SQL;
|
||||
|
||||
/**
|
||||
* QQ to find the month of the oldest log entry
|
||||
*/
|
||||
class SYS_LOG_OLDEST extends \SYSTEM\DB\QQ {
|
||||
public static function get_class(){return \get_class();}
|
||||
public static function pgsql(){return
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
class AbstractResult {
|
||||
//Returns the result as a string
|
||||
public static function toString($json_array, $status , $start_time){
|
||||
throw new RuntimeException("Unimplemented");}
|
||||
//Return Exception as string
|
||||
public static function error(\Exception $e){
|
||||
throw new RuntimeException("Unimplemented");}
|
||||
//Returns OK status
|
||||
public static function ok(){
|
||||
throw new RuntimeException("Unimplemented");}
|
||||
}
|
||||
@ -1,14 +1,29 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
namespace SYSTEM\LOG;
|
||||
|
||||
class JsonResult extends \SYSTEM\LOG\AbstractResult {
|
||||
|
||||
const JSONRESULT_OK = true;
|
||||
const JSONRESULT_ERROR = false;
|
||||
|
||||
public static function toString($json_array, $status = self::JSONRESULT_OK, $start_time = NULL){
|
||||
|
||||
/**
|
||||
* JsonResult Class provided by System to return Data as JSON or MSGPACK.
|
||||
*/
|
||||
class JsonResult{
|
||||
/**
|
||||
* Retun JsonResult with data given by array
|
||||
*
|
||||
* @param array $json_array Data which should be included in the JSOn Result.
|
||||
* @param bool $status true or false depending on success
|
||||
* @param int $start_time To calculate Querytime - if Null System time is used.
|
||||
* @return string Returns json string.
|
||||
*/
|
||||
public static function toString($json_array, $status = true, $start_time = NULL){
|
||||
if($start_time == NULL){
|
||||
$start_time = \SYSTEM\time::getStartTime();}
|
||||
|
||||
@ -34,23 +49,36 @@ class JsonResult extends \SYSTEM\LOG\AbstractResult {
|
||||
}
|
||||
}
|
||||
|
||||
//Return Exception as string
|
||||
/**
|
||||
* Retun JsonResult for given Exception
|
||||
*
|
||||
* @param \Exception $e Exception to be convered.
|
||||
* @return string Returns json string.
|
||||
*/
|
||||
public static function error(\Exception $e){
|
||||
$error = array();
|
||||
|
||||
$error['class'] = get_class($e);
|
||||
$error['message'] = $e->getMessage();
|
||||
$error['code'] = $e->getCode();
|
||||
$error['file'] = $e->getFile();
|
||||
$error['line'] = $e->getLine();
|
||||
$error['trace'] = array_slice(explode('#', $e->getTraceAsString()), 1, -1);
|
||||
|
||||
return self::toString($error, self::JSONRESULT_ERROR);
|
||||
$error['trace'] = array_slice(explode('#', $e->getTraceAsString()), 1, -1);
|
||||
return self::toString($error, false);
|
||||
}
|
||||
|
||||
//Returns OK status
|
||||
/**
|
||||
* Retun JsonResult with success status
|
||||
*
|
||||
* @return string Returns json string.
|
||||
*/
|
||||
public static function ok(){
|
||||
return self::toString(NULL);}
|
||||
|
||||
/**
|
||||
* Retun JsonResult with failure status
|
||||
*
|
||||
* @return string Returns json string.
|
||||
*/
|
||||
public static function fail(){
|
||||
return self::toString(NULL,self::JSONRESULT_ERROR);}
|
||||
return self::toString(NULL,false);}
|
||||
}
|
||||
@ -1,3 +1,16 @@
|
||||
<?php
|
||||
/**
|
||||
* System - PHP Framework
|
||||
*
|
||||
* PHP Version 5.6
|
||||
*
|
||||
* @copyright 2016 Ulf Gebhardt (http://www.webcraft-media.de)
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT
|
||||
* @link https://github.com/webcraftmedia/system
|
||||
* @package SYSTEM\LOG
|
||||
*/
|
||||
|
||||
/**
|
||||
* JsonResult Class provided by System to return Data as JSON or MSGPACK.
|
||||
*/
|
||||
class JsonResult extends \SYSTEM\LOG\JsonResult {}
|
||||
Loading…
x
Reference in New Issue
Block a user