public static function log_webservices_logevent() { $log = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/webservices.log'); $event_caller = $m->getParam(0); $event_string = $m->getParam(1); $event_type = $m->getParam(2); return new \Innomatic\Webservices\Xmlrpc\XmlRpcResp(new \Innomatic\Webservices\Xmlrpc\XmlRpcVal($log->logEvent($event_caller->scalarVal(), $event_string->scalarVal(), $event_type->scalarVal()))); }
public function logFailedAccess($user = '', $root = false, $ip = '') { $log = new \Innomatic\Logging\Logger($this->mAccessLog); $log->logEvent('innomatic', 'Wrong access from ' . ($root ? 'root ' : 'user ' . $user . ' ') . (strlen($ip) ? 'from address ' . $ip : ''), \Innomatic\Logging\Logger::NOTICE); return true; }
public function logEvent($destinations, $context, $eventString, $eventType = \Innomatic\Logging\Logger::GENERIC, $die = false) { // Root // if (isset($destinations['root'])) { $tmp_log = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getLogger(); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } // Root db // if (isset($destinations['rootda'])) { $tmp_log = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/innomatic_root_db.log'); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } // Web services // if (isset($destinations['webservices'])) { $tmp_log = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/webservices.log'); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } // PHP // if (isset($destinations['php'])) { if (\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getState() != \Innomatic\Core\InnomaticContainer::STATE_SETUP) { $php_log = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/php.log'; } else { $php_log = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/innomatic.log'; } $tmp_log = new \Innomatic\Logging\Logger($php_log); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } // Application // if (isset($destinations['application']) and is_dir(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/applications/' . $this->mApplication)) { $tmp_log = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/applications/' . $this->mApplication . '/application.log'); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } // Tenant // if (isset($destinations['domain'])) { $tmp_log = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/domains/' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentDomain()->domaindata['domainid'] . '/log/domain.log'); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } // Tenant dataaccess // if (isset($destinations['domainda'])) { $tmp_log = new \Innomatic\Logging\Logger(\Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/domains/' . \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getCurrentDomain()->domaindata['domainid'] . '/logs/dataaccess.log'); $tmp_log->logEvent($context, $eventString, $eventType); unset($tmp_log); } if ($die) { \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->abort($eventString); } return true; }
public function errorHandler($errorType, $errorMessage, $errorFile, $errorLine, $errorContext) { $logError[E_ERROR]['log'] = true; $logError[E_ERROR]['die'] = true; $logError[E_WARNING]['log'] = false; $logError[E_WARNING]['die'] = false; $logError[E_PARSE]['log'] = true; $logError[E_PARSE]['die'] = false; $logError[E_NOTICE]['log'] = false; $logError[E_NOTICE]['die'] = false; $logError[E_CORE_ERROR]['log'] = true; $logError[E_CORE_ERROR]['die'] = true; $logError[E_CORE_WARNING]['log'] = false; $logError[E_CORE_WARNING]['die'] = false; $logError[E_COMPILE_ERROR]['log'] = true; $logError[E_COMPILE_ERROR]['die'] = true; $logError[E_COMPILE_WARNING]['log'] = false; $logError[E_COMPILE_WARNING]['die'] = false; $logError[E_USER_ERROR]['log'] = true; $logError[E_USER_ERROR]['die'] = true; $logError[E_USER_WARNING]['log'] = false; $logError[E_USER_WARNING]['die'] = false; $logError[E_USER_NOTICE]['log'] = false; $logError[E_USER_NOTICE]['die'] = false; if ($this->getState() != \Innomatic\Core\InnomaticContainer::STATE_SETUP) { $phpLog = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/php.log'; } else { $phpLog = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->getHome() . 'core/log/innomatic.log'; } switch ($this->state) { case \Innomatic\Core\InnomaticContainer::STATE_DEBUG: $logError[E_NOTICE]['log'] = true; $logError[E_USER_NOTICE]['log'] = true; $logError[E_WARNING]['log'] = true; $logError[E_CORE_WARNING]['log'] = true; $logError[E_COMPILE_WARNING]['die'] = true; $logError[E_USER_WARNING]['log'] = true; break; case \Innomatic\Core\InnomaticContainer::STATE_SETUP: /* For debug purposes in setup procedure add these commands: $log_err[E_NOTICE]['log'] = true; $log_err[E_USER_NOTICE]['log'] = true; */ $logError[E_WARNING]['log'] = true; $logError[E_CORE_WARNING]['log'] = true; $logError[E_COMPILE_WARNING]['die'] = true; $logError[E_USER_WARNING]['log'] = true; break; case \Innomatic\Core\InnomaticContainer::STATE_PRODUCTION: case \Innomatic\Core\InnomaticContainer::STATE_UPGRADE: break; } switch ($errorType) { case E_ERROR: if ($logError[E_ERROR]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated an ERROR at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::FAILURE); } if ($logError[E_ERROR]['die']) { $this->abort('A fatal error occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_WARNING: if ($logError[E_WARNING]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a WARNING at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::WARNING); } if ($logError[E_WARNING]['die']) { $this->abort('A warning occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_PARSE: if ($logError[E_PARSE]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a PARSE error at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_PARSE]['die']) { $this->abort('A parse error occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_NOTICE: if ($logError[E_NOTICE]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a notice at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::NOTICE); } if ($logError[E_NOTICE]['die']) { $this->abort('A notice occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_CORE_ERROR: if ($logError[E_CORE_ERROR]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a CORE ERROR at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_CORE_ERROR]['die']) { $this->abort('A core error occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_CORE_WARNING: if ($logError[E_CORE_WARNING]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a CORE WARNING at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_CORE_WARNING]['die']) { $this->abort('A core warning occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_COMPILE_ERROR: if ($logError[E_COMPILE_ERROR]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a COMPILE ERROR at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_COMPILE_ERROR]['die']) { $this->abort('A compile error occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_COMPILE_WARNING: if ($logError[E_COMPILE_WARNING]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated a COMPILE WARNING at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_COMPILE_WARNING]['die']) { $this->abort('A compile warning occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_USER_ERROR: if ($logError[E_USER_ERROR]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated an USER ERROR at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_USER_ERROR]['die']) { $this->abort('An user error occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_USER_WARNING: if ($logError[E_USER_WARNING]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated an USER WARNING at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_USER_WARNING]['die']) { $this->abort('An user warning occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; case E_USER_NOTICE: if ($logError[E_USER_NOTICE]['log']) { $log = new \Innomatic\Logging\Logger($phpLog); $log->logEvent('Innomatic error handler', 'PHP generated an USER NOTICE at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage, \Innomatic\Logging\Logger::ERROR); } if ($logError[E_USER_NOTICE]['die']) { $this->abort('An user notice occured at line ' . $errorLine . ' of file ' . $errorFile . '. The error message was: ' . $errorMessage); } break; default: break; } }