Test Failed
Push — master ( 6ccab2...d43578 )
by Jean-Christophe
20:52
created

Logger::init()   A

Complexity

Conditions 4
Paths 2

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 4

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 2
dl 0
loc 3
ccs 3
cts 3
cp 1
rs 10
c 1
b 0
f 1
cc 4
nc 2
nop 2
crap 4
1
<?php
2
3
namespace Ubiquity\log;
4
5
/**
6
 * Abstract class for logging
7
 * Ubiquity\log$Logger
8
 * This class is part of Ubiquity
9
 *
10
 * @author jcheron <[email protected]>
11
 * @version 1.0.3
12
 *
13
 */
14
abstract class Logger {
15
	/**
16
	 *
17
	 * @var Logger
18
	 */
19
	private static $instance;
20
	private static $active;
21
22 43
	private static function createLogger(&$config) {
23 43
		if (\is_callable ( $logger = $config ['logger'] )) {
24 42
			$instance = $logger ();
25
		} else {
26 1
			$instance = $config ['logger'];
27
		}
28 43
		if ($instance instanceof Logger) {
29 43
			self::$instance = $instance;
30
		}
31
	}
32
33
	abstract public function _registerError();
34
35
	public static function registerError() {
36
		self::$instance->_registerError ();
37
	}
38
39 1
	public static function inContext($contexts, $context) {
40 1
		if ($contexts === null) {
41
			return true;
42
		}
43 1
		return \array_search ( $context, $contexts ) !== false;
44
	}
45
46 43
	public static function init(&$config,$application=false) {
47 43
		if (($application || $config ['debug'] === true) && (self::$active = isset ( $config ['logger'] ))) {
48 43
			self::createLogger ( $config );
49
		}
50
	}
51
52 1
	public static function log($level, $context, $message, $part = null, $extra = null) {
53 1
		if (self::$active){
54 1
			self::$instance->_log ( $level, $context, $message, $part, $extra );
55
		}
56
	}
57 162
58 162
	public static function info($context, $message, $part = null, $extra = null) {
59 162
		if (self::$active){
60
			self::$instance->_info ( $context, $message, $part, $extra );
61
		}
62 9
	}
63 9
64 9
	public static function warn($context, $message, $part = null, $extra = null) {
65
		if (self::$active){
66
			self::$instance->_warn ( $context, $message, $part, $extra );
67 1
		}
68 1
	}
69 1
70
	public static function error($context, $message, $part = null, $extra = null) {
71
		if (self::$active){
72 1
			self::$instance->_error ( $context, $message, $part, $extra );
73 1
		}
74 1
	}
75
76
	public static function critical($context, $message, $part = null, $extra = null) {
77 1
		if (self::$active){
78 1
			self::$instance->_critical ( $context, $message, $part, $extra );
79 1
		}
80
	}
81
82 2
	public static function alert($context, $message, $part = null, $extra = null) {
83 2
		if (self::$active){
84 2
			self::$instance->_alert ( $context, $message, $part, $extra );
85
		}
86
	}
87
	
88 2
	public static function appLog($level, $context, $message, $part = null, $extra = null) {
89 2
		self::$instance->_log ( $level, $context, $message, $part, $extra );
90 2
	}
91
	
92
	public static function appInfo($context, $message, $part = null, $extra = null) {
93
		self::$instance->_info ( $context, $message, $part, $extra );
94 1
	}
95 1
	
96 1
	public static function appWarn($context, $message, $part = null, $extra = null) {
97
		self::$instance->_warn ( $context, $message, $part, $extra );
98
	}
99
	
100
	public static function appError($context, $message, $part = null, $extra = null) {
101
		self::$instance->_error ( $context, $message, $part, $extra );
102
	}
103
	
104
	public static function appCritical($context, $message, $part = null, $extra = null) {
105
		self::$instance->_critical ( $context, $message, $part, $extra );
106
	}
107
	
108
	public static function appAlert($context, $message, $part = null, $extra = null) {
109
		self::$instance->_alert ( $context, $message, $part, $extra );
110
	}
111
112
	public static function asObjects($reverse = true, $maxlines = 10, $contexts = null) {
113
		if (isset ( self::$instance ) && self::$active){
114
			return self::$instance->_asObjects ( $reverse, $maxlines, $contexts );
115
		}
116
		return [ ];
117
	}
118 23
119 23
	public static function clearAll() {
120
		if (self::$active) {
121
			self::$instance->_clearAll ();
122
		}
123
	}
124
125
	public static function close() {
126
		if (self::$active) {
127
			self::$instance->_close ();
128
		}
129
	}
130
131
	abstract public function _log($level, $context, $message, $part, $extra);
132
133
	abstract public function _info($context, $message, $part, $extra);
134
135
	abstract public function _warn($context, $message, $part, $extra);
136
137
	abstract public function _error($context, $message, $part, $extra);
138
139
	abstract public function _critical($context, $message, $part, $extra);
140
141
	abstract public function _alert($context, $message, $part, $extra);
142
143
	abstract public function _asObjects($reverse = true, $maxlines = 10, $contexts = null);
144
145
	abstract public function _clearAll();
146
147
	abstract public function _close();
148
149
	public static function isActive() {
150
		return self::$active;
151
	}
152
}
153