Passed
Push — master ( e8f56b...3a2a94 )
by Jean-Christophe
23:12
created

Logger::close()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 2
c 0
b 0
f 0
dl 0
loc 3
ccs 3
cts 3
cp 1
rs 10
cc 2
nc 2
nop 0
crap 2
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
58 162
	public static function info($context, $message, $part = null, $extra = null) {
59 162
		if (self::$active){
60 162
			self::$instance->_info ( $context, $message, $part, $extra );
61
		}
62
	}
63
64 14
	public static function warn($context, $message, $part = null, $extra = null) {
65 14
		if (self::$active){
66 14
			self::$instance->_warn ( $context, $message, $part, $extra );
67
		}
68
	}
69
70 1
	public static function error($context, $message, $part = null, $extra = null) {
71 1
		if (self::$active){
72 1
			self::$instance->_error ( $context, $message, $part, $extra );
73
		}
74
	}
75
76 1
	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
		}
80
	}
81
82 1
	public static function alert($context, $message, $part = null, $extra = null) {
83 1
		if (self::$active){
84 1
			self::$instance->_alert ( $context, $message, $part, $extra );
85
		}
86
	}
87
	
88
	public static function appLog($level, $context, $message, $part = null, $extra = null) {
89
		self::$instance->_log ( $level, $context, $message, $part, $extra );
90
	}
91
	
92
	public static function appInfo($context, $message, $part = null, $extra = null) {
93
		self::$instance->_info ( $context, $message, $part, $extra );
94
	}
95
	
96
	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 2
	public static function asObjects($reverse = true, $maxlines = 10, $contexts = null) {
113 2
		if (isset ( self::$instance ) && self::$active){
114 2
			return self::$instance->_asObjects ( $reverse, $maxlines, $contexts );
115
		}
116
		return [ ];
117
	}
118
119 2
	public static function clearAll() {
120 2
		if (self::$active) {
121 2
			self::$instance->_clearAll ();
122
		}
123
	}
124
125 1
	public static function close() {
126 1
		if (self::$active) {
127 1
			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 23
	public static function isActive() {
150 23
		return self::$active;
151
	}
152
}
153