]> git.wh0rd.org - tt-rss.git/blame - classes/logger.php
Logger->log() allow passing context (defaults to '')
[tt-rss.git] / classes / logger.php
CommitLineData
889a5f9f
AD
1<?php
2class Logger {
b367c951
AD
3 private static $instance;
4 private $adapter;
889a5f9f 5
4e53956a
AD
6 public static $errornames = array(
7 1 => 'E_ERROR',
889a5f9f 8 2 => 'E_WARNING',
e2261e17 9 4 => 'E_PARSE',
889a5f9f 10 8 => 'E_NOTICE',
e2261e17
AD
11 16 => 'E_CORE_ERROR',
12 32 => 'E_CORE_WARNING',
13 64 => 'E_COMPILE_ERROR',
14 128 => 'E_COMPILE_WARNING',
889a5f9f
AD
15 256 => 'E_USER_ERROR',
16 512 => 'E_USER_WARNING',
17 1024 => 'E_USER_NOTICE',
18 2048 => 'E_STRICT',
19 4096 => 'E_RECOVERABLE_ERROR',
20 8192 => 'E_DEPRECATED',
21 16384 => 'E_USER_DEPRECATED',
22 32767 => 'E_ALL');
23
24 function log_error($errno, $errstr, $file, $line, $context) {
b367c951
AD
25 if ($errno == E_NOTICE) return false;
26
27 if ($this->adapter)
28 return $this->adapter->log_error($errno, $errstr, $file, $line, $context);
29 else
30 return false;
889a5f9f
AD
31 }
32
80fd79ca 33 function log($string, $context = "") {
b367c951 34 if ($this->adapter)
80fd79ca 35 return $this->adapter->log_error(E_USER_NOTICE, $string, '', 0, $context);
b367c951
AD
36 else
37 return false;
38 }
39
40 private function __clone() {
41 //
42 }
43
44 function __construct() {
45 switch (LOG_DESTINATION) {
46 case "sql":
47 $this->adapter = new Logger_SQL();
48 break;
49 case "syslog":
50 $this->adapter = new Logger_Syslog();
51 break;
611aeb71
AD
52 case "stdout":
53 $this->adapter = new Logger_Stdout();
54 break;
b367c951
AD
55 default:
56 $this->adapter = false;
57 }
889a5f9f 58 }
b367c951
AD
59
60 public static function get() {
61 if (self::$instance == null)
62 self::$instance = new self();
63
64 return self::$instance;
65 }
66
611aeb71 67}