query('TRUNCATE system.sys_log;'); return true; } return false; } public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_visualization(){ $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); $res = $con->query('SELECT time::date as day, min(time) as time_min, max(time) as time_max, count(*) as count, avg(querytime) as querytime_avg, max(querytime) as querytime_max, min(querytime) as querytime_min, count(distinct file) as file_unique, count(distinct ip) as ip_unique, count(distinct message) as text_unique, count(distinct class) as class_unique, sum(case when class = \'INFO\' then 1 else 0 end) class_INFO, sum(case when class = \'DEPRECATED\' then 1 else 0 end) class_DEPRECATED, sum(case when class = \'WARNING\' then 1 else 0 end) class_WARNING, sum(case when class = \'ERROR\' then 1 else 0 end) class_ERROR, sum(case when class = \'AppError\' then 1 else 0 end) class_AppError, sum(case when class = \'SYSTEM\LOG\INFO\' then 1 else 0 end) class_SYSTEM_LOG_INFO, sum(case when class = \'SYSTEM\LOG\DEPRECATED\' then 1 else 0 end) class_SYSTEM_LOG_DEPRECATED, sum(case when class = \'SYSTEM\LOG\WARNING\' then 1 else 0 end) class_SYSTEM_LOG_WARNING, sum(case when class = \'SYSTEM\LOG\ERROR\' then 1 else 0 end) class_SYSTEM_LOG_ERROR, sum(case when class = \'SYSTEM\LOG\ErrorException\' then 1 else 0 end) class_SYSTEM_LOG_ErrorException, sum(case when class = \'SYSTEM\LOG\ShutdownException\' then 1 else 0 end) class_SYSTEM_LOG_ShutdownException, sum(case when class = \'Exception\' then 1 else 0 end) class_Exception, sum(case when class = \'RuntimeException\' then 1 else 0 end) class_RuntimeException, sum(case when class = \'ErrorException\' then 1 else 0 end) class_ErrorException from system.sys_log group by day order by day desc limit 365;'); $result = array(); while($row = $res->next()){ $result[] = $row;} return \SYSTEM\LOG\JsonResult::toString($result); } public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_filter($filter = ""){ $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); $res = null; if($filter !== ""){ if(\SYSTEM\system::isSystemDbInfoPG()){ $res = $con->prepare( 'selectSysLogFilter', 'SELECT * FROM system.sys_log WHERE class ILIKE $1 ORDER BY time DESC LIMIT 100;', array($filter)); } else { $res = $con->prepare( 'selectSysLogFilter', '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_log ORDER BY time DESC LIMIT 100;'); } } $now = microtime(true); $result = '
| '.'time ago'.' | '.''.'time'.' | '.''.'class'.' | '.''.'message'.' | '.''.'code'.' | '.''.'file'.' | '.''.'line'.' | '.''.'ip'.' | '.''.'querytime'.' |
|---|---|---|---|---|---|---|---|---|
| '.self::time_elapsed_string(strtotime($r['time'])).' | '.''.$r['time'].' | '.''.$r['class'].' | '.''.substr($r['message'],0,255).' | '.''.$r['code'].' | '.''.$r['file'].' | '.''.$r['line'].' | '.''.$r['ip'].' | '.''.$r['querytime'].' | '.'
| '.self::time_elapsed_string($r['time']).' | '.''.$r['time'].' | '.''.$r['class'].' | '.''.substr($r['message'],0,255).' | '.''.$r['code'].' | '.''.$r['file'].' | '.''.$r['line'].' | '.''.$r['ip'].' | '.''.$r['querytime'].' | '.'