]> git.wh0rd.org Git - tt-rss.git/blob - include/errorhandler.php
make logging configurable; add logging to syslog
[tt-rss.git] / include / errorhandler.php
1 <?php
2 function ttrss_error_handler($errno, $errstr, $file, $line, $context) {
3         global $logger;
4
5         if (error_reporting() == 0 || !$errno) return false;
6
7         $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
8
9         return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
10 }
11
12 function ttrss_fatal_handler() {
13         global $logger;
14
15         $error = error_get_last();
16
17         if ($error !== NULL) {
18                 $errno = $error["type"];
19                 $file = $error["file"];
20                 $line = $error["line"];
21                 $errstr  = $error["message"];
22
23                 if (!$errno) return false;
24
25                 $context = debug_backtrace();
26
27                 $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
28
29                 return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
30         }
31
32         return false;
33 }
34
35 register_shutdown_function('ttrss_fatal_handler');
36 set_error_handler('ttrss_error_handler');
37 ?>