errorhandler.php 910 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. function ttrss_error_handler($errno, $errstr, $file, $line, $context) {
  3. global $logger;
  4. if (error_reporting() == 0 || !$errno) return false;
  5. $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
  6. if (class_exists("Logger"))
  7. return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
  8. }
  9. function ttrss_fatal_handler() {
  10. global $logger;
  11. $error = error_get_last();
  12. if ($error !== NULL) {
  13. $errno = $error["type"];
  14. $file = $error["file"];
  15. $line = $error["line"];
  16. $errstr = $error["message"];
  17. if (!$errno) return false;
  18. $context = debug_backtrace();
  19. $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
  20. if (class_exists("Logger"))
  21. return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
  22. }
  23. return false;
  24. }
  25. register_shutdown_function('ttrss_fatal_handler');
  26. set_error_handler('ttrss_error_handler');
  27. ?>