2018-01-27 19:31:27 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class Logger {
|
2018-01-27 20:10:48 +01:00
|
|
|
const LEVEL = array('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL');
|
2018-01-27 19:31:27 +01:00
|
|
|
const DEBUG = 0;
|
2018-01-27 20:10:48 +01:00
|
|
|
const INFO = 1;
|
|
|
|
const WARNING = 2;
|
|
|
|
const ERROR = 3;
|
|
|
|
const CRITICAL = 4;
|
2018-01-27 19:31:27 +01:00
|
|
|
|
2018-07-25 18:59:09 +02:00
|
|
|
private static $level;
|
2018-01-27 19:31:27 +01:00
|
|
|
|
2018-10-09 14:14:58 +02:00
|
|
|
public static function init() {
|
|
|
|
switch (Config::getLogLevel()) {
|
2018-01-27 19:31:27 +01:00
|
|
|
case 'critical':
|
|
|
|
self::$level = self::CRITICAL;
|
|
|
|
case 'error':
|
|
|
|
self::$level = self::ERROR;
|
|
|
|
case 'warning':
|
|
|
|
self::$level = self::WARNING;
|
|
|
|
case 'info':
|
|
|
|
self::$level = self::INFO;
|
|
|
|
case 'debug':
|
|
|
|
self::$level = self::DEBUG;
|
|
|
|
default:
|
|
|
|
self::$level = self::DEBUG;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-27 20:10:48 +01:00
|
|
|
private static function write_log($txt, $level, $user, $var) {
|
2018-07-25 18:59:09 +02:00
|
|
|
$facility = empty($user) ? LOG_AUTH : LOG_LOCAL0;
|
|
|
|
$id = empty($user) ? $_SERVER['REMOTE_ADDR'] : $user;
|
|
|
|
openlog("evoadmin-mail", LOG_PID | LOG_PERROR, $facility);
|
|
|
|
syslog($level, "$txt [$id]");
|
|
|
|
closelog();
|
2018-01-27 19:31:27 +01:00
|
|
|
}
|
|
|
|
|
2018-01-27 20:10:48 +01:00
|
|
|
public static function critical($txt, $user=NULL, $var=NULL) {
|
2018-01-27 19:31:27 +01:00
|
|
|
if (self::$level <= self::CRITICAL ) {
|
2018-07-25 18:59:09 +02:00
|
|
|
self::write_log($txt, LOG_CRIT, $user, $var);
|
2018-01-27 19:31:27 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-27 20:10:48 +01:00
|
|
|
public static function error($txt, $user=NULL, $var=NULL) {
|
2018-01-27 19:31:27 +01:00
|
|
|
if (self::$level <= self::ERROR ) {
|
2018-07-25 18:59:09 +02:00
|
|
|
self::write_log($txt, LOG_ERR, $user, $var);
|
2018-01-27 19:31:27 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-27 20:10:48 +01:00
|
|
|
public static function warning($txt, $user=NULL, $var=NULL) {
|
2018-01-27 19:31:27 +01:00
|
|
|
if (self::$level <= self::WARNING) {
|
2018-07-25 18:59:09 +02:00
|
|
|
self::write_log($txt, LOG_WARNING, $user, $var);
|
2018-01-27 19:31:27 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-27 20:10:48 +01:00
|
|
|
public static function info($txt, $user=NULL, $var=NULL) {
|
2018-01-27 19:31:27 +01:00
|
|
|
if (self::$level <= self::INFO) {
|
2018-07-25 18:59:09 +02:00
|
|
|
self::write_log($txt, LOG_INFO, $user, $var);
|
2018-01-27 19:31:27 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|