Completed
Push — master ( 118c60...254398 )
by Litera
03:47
created

Loggable   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 81
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 81
c 0
b 0
f 0
rs 10
wmc 7
lcom 1
cbo 1

7 Methods

Rating   Name   Duplication   Size   Complexity  
A logDebug() 0 4 1
A logInfo() 0 4 1
A logWarning() 0 4 1
A logError() 0 4 1
A logException() 0 4 1
A logCritical() 0 4 1
A log() 0 4 1
1
<?php
2
3
namespace App\Traits;
4
5
use Tracy\Debugger;
6
7
trait Loggable
8
{
9
10
	/**
11
	 * Logs debug message
12
	 *
13
	 * @param  string $message   Formatted message
14
	 * @param  array  $arguments Message arguments
15
	 */
16
	protected function logDebug(string $message = '', array $arguments = [])
17
	{
18
		$this->log($message, $arguments, Debugger::DEBUG);
19
	}
20
21
	/**
22
	 * Logs info message
23
	 *
24
	 * @param  string $message   Formatted message
25
	 * @param  array  $arguments Message arguments
26
	 */
27
	protected function logInfo(string $message = '', array $arguments = [])
28
	{
29
		$this->log($message, $arguments, Debugger::INFO);
30
	}
31
32
	/**
33
	 * Logs warning message
34
	 *
35
	 * @param  string $message   Formatted message
36
	 * @param  array  $arguments Message arguments
37
	 */
38
	protected function logWarning(string $message = '', array $arguments = [])
39
	{
40
		$this->log($message, $arguments, Debugger::WARNING);
41
	}
42
43
	/**
44
	 * Logs error message
45
	 *
46
	 * @param  string $message   Formatted message
47
	 * @param  array  $arguments Message arguments
48
	 */
49
	protected function logError(string $message = '', array $arguments = [])
50
	{
51
		$this->log($message, $arguments, Debugger::ERROR);
52
	}
53
54
	/**
55
	 * Logs exception message
56
	 *
57
	 * @param  string $message   Formatted message
58
	 * @param  array  $arguments Message arguments
59
	 */
60
	protected function logException(string $message = '', array $arguments = [])
61
	{
62
		$this->log($message, $arguments, Debugger::EXCEPTION);
63
	}
64
65
	/**
66
	 * Logs critical message
67
	 *
68
	 * @param  string $message   Formatted message
69
	 * @param  array  $arguments Message arguments
70
	 */
71
	protected function logCritical(string $message = '', array $arguments = [])
72
	{
73
		$this->log($message, $arguments, Debugger::CRITICAL);
74
	}
75
76
	/**
77
	 * Logs debug message
78
	 *
79
	 * @param  string $message   Formatted message
80
	 * @param  array  $arguments Message arguments
81
	 */
82
	protected function log(string $message = '', array $arguments = [], string $level)
83
	{
84
		Debugger::log(vsprintf($message, $arguments), $level);
85
	}
86
87
}
88