From 219f8aa5359e5723d3281d9416f71bd12bef4cd6 Mon Sep 17 00:00:00 2001 From: rylon Date: Wed, 17 Jul 2013 22:10:08 +0200 Subject: [PATCH] errorhandler dbwriter mysql compatible and --- log/error_handler/error_handler_dbwriter.php | 27 ++++++++++++------- log/register_errorhandler_dbwriter.php | 2 ++ sai/modules/saimod_sys_log/saimod_sys_log.php | 4 +-- 3 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 log/register_errorhandler_dbwriter.php diff --git a/log/error_handler/error_handler_dbwriter.php b/log/error_handler/error_handler_dbwriter.php index 7c6181a..0a1f650 100644 --- a/log/error_handler/error_handler_dbwriter.php +++ b/log/error_handler/error_handler_dbwriter.php @@ -7,16 +7,25 @@ namespace SYSTEM\LOG; abstract class error_handler_dbwriter extends \SYSTEM\LOG\error_handler { public static function CALL(\Exception $E, $errno, $thrown){ try{ - $con = new \SYSTEM\DB\Connection(static::getDBInfo()); - $con->prepare( 'sysLogStmt', 'INSERT INTO system.sys_log '. - '(class, message, code, file, line, trace, ip, querytime) '. - 'VALUES ($1, $2, $3, $4, $5, $6, $7, $8);', - array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), - getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5))); + if(\SYSTEM\system::isSystemDbInfoPG()){ + $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); + $con->prepare( 'sysLogStmt', 'INSERT INTO system.sys_log '. + '(class, message, code, file, line, trace, ip, querytime) '. + 'VALUES ($1, $2, $3, $4, $5, $6, $7, $8);', + array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), + getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5))); + } else { + $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); + $con->prepare( 'sysLogStmt', 'INSERT INTO system_log '. + '(class, message, code, file, line, trace, ip, querytime) '. + 'VALUES (?, ?, ?, ?, ?, ?, ?, ?);', + array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), + getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5))); + } } catch (\Exception $E){} //Error -> Ignore return false; //We just log and do not handle the error! - } - - abstract protected static function getDBInfo(); + } + public static function MASK(){ + return \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_ERRORREPORTING);} } \ No newline at end of file diff --git a/log/register_errorhandler_dbwriter.php b/log/register_errorhandler_dbwriter.php new file mode 100644 index 0000000..7bcbd69 --- /dev/null +++ b/log/register_errorhandler_dbwriter.php @@ -0,0 +1,2 @@ +registerHandler('\SYSTEM\LOG\error_handler_dbwriter'); \ No newline at end of file diff --git a/sai/modules/saimod_sys_log/saimod_sys_log.php b/sai/modules/saimod_sys_log/saimod_sys_log.php index 408c708..a2a1c05 100644 --- a/sai/modules/saimod_sys_log/saimod_sys_log.php +++ b/sai/modules/saimod_sys_log/saimod_sys_log.php @@ -27,14 +27,14 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { array('%'.$filter.'%')); } else { $res = $con->prepare( 'selectSysLogFilter', - 'SELECT * FROM system_sys_log WHERE class ILIKE $1 ORDER BY time DESC LIMIT 100;', + 'SELECT * FROM system_log WHERE class LIKE ? ORDER BY time DESC LIMIT 100;', array('%'.$filter.'%')); } } else { if(\SYSTEM\system::isSystemDbInfoPG()){ $res = $con->query('SELECT * FROM system.sys_log ORDER BY time DESC LIMIT 100;'); } else { - $res = $con->query('SELECT * FROM system_sys_log ORDER BY time DESC LIMIT 100;'); + $res = $con->query('SELECT * FROM system_log ORDER BY time DESC LIMIT 100;'); } }