1111
1212namespace Fabacino \Debug ;
1313
14- use Monolog \Logger ;
15- use Monolog \Formatter \LineFormatter ;
16- use Monolog \Handler \NullHandler ;
17- use Monolog \Handler \StreamHandler ;
14+ use Fabacino \Debug \Logger ;
15+ use Psr \Log \LoggerInterface ;
1816
1917/**
2018 * Main class.
@@ -27,13 +25,6 @@ class Debug
2725 const USE_VARDUMP = 1 ;
2826 const USE_HTMLENTITIES = 2 ;
2927
30- /**
31- * Default values for Monolog options.
32- */
33- const CHANNEL_NAME = 'fabacino/debug ' ;
34- const OUTPUT_FORMAT = "%datetime%: %message% \n" ;
35- const DATE_FORMAT = null ;
36-
3728 /**
3829 * Default flags for tweaking the output.
3930 *
@@ -42,9 +33,9 @@ class Debug
4233 private $ defaultFlags ;
4334
4435 /**
45- * Monolog logger.
36+ * The logger instance .
4637 *
47- * @var Logger
38+ * @var LoggerInterface
4839 */
4940 private $ Logger ;
5041
@@ -58,12 +49,12 @@ class Debug
5849 /**
5950 * Constructor.
6051 *
61- * @param int $defaultFlags Default flags for tweaking the output.
62- * @param Logger $Logger The monolog logger.
52+ * @param int $defaultFlags Default flags for tweaking the output.
53+ * @param LoggerInterface $Logger The logger instance .
6354 *
6455 * @return void
6556 */
66- private function __construct (int $ defaultFlags , Logger $ Logger )
57+ private function __construct (int $ defaultFlags , LoggerInterface $ Logger )
6758 {
6859 $ this ->defaultFlags = $ defaultFlags ;
6960 $ this ->Logger = $ Logger ;
@@ -90,10 +81,11 @@ public static function getInstance(): Debug
9081 * - use_vardump: Use vardump for debug output? (boolean, default = false)
9182 * - use_htmlentities: Use htmlentities for debug output? (boolean, default = false)
9283 * - log_file: The log file. (string, default = null)
93- * - logger: The logger to use. (Logger , default = null)
84+ * - logger: The logger to use. (LoggerInterface , default = null)
9485 *
9586 * The settings `log_file` and `logger` are only used when calling `logValue()`.
96- * If `logger` is specified, `log_file` will be ignored.
87+ * If `logger` is specified, `log_file` will be ignored. If neither is present,
88+ * nothing will be logged.
9789 *
9890 * @param array $settings Settings.
9991 *
@@ -102,46 +94,28 @@ public static function getInstance(): Debug
10294 public static function init (array $ settings = [])
10395 {
10496 $ defaultFlags = 0 ;
97+
10598 if (isset ($ settings ['use_vardump ' ]) && $ settings ['use_vardump ' ]) {
10699 $ defaultFlags |= self ::USE_VARDUMP ;
107100 }
108101 if (isset ($ settings ['use_htmlentities ' ]) && $ settings ['use_htmlentities ' ]) {
109102 $ defaultFlags |= self ::USE_HTMLENTITIES ;
110103 }
111104
112- if (isset ($ settings ['logger ' ]) && $ settings ['logger ' ] instanceof Logger ) {
105+ if (isset ($ settings ['logger ' ]) && $ settings ['logger ' ] instanceof LoggerInterface ) {
113106 $ Logger = $ settings ['logger ' ];
114107 } else {
115108 if (isset ($ settings ['log_file ' ])) {
116- $ Stream = self :: initStream ($ settings ['log_file ' ]);
109+ $ Logger = new Logger ($ settings ['log_file ' ]);
117110 } else {
118111 // We didn't get any file to log.
119- $ Stream = new NullHandler ( Logger:: DEBUG );
112+ $ Logger = new Logger ( );
120113 }
121-
122- $ Logger = new Logger (self ::CHANNEL_NAME );
123- $ Logger ->pushHandler ($ Stream );
124114 }
125115
126116 self ::$ Instance = new static ($ defaultFlags , $ Logger );
127117 }
128118
129- /**
130- * Create stream handler for logger.
131- *
132- * @param string $logFile The log file.
133- *
134- * @return StreamHandler
135- */
136- private static function initStream (string $ logFile ): StreamHandler
137- {
138- $ Stream = new StreamHandler ($ logFile , Logger::DEBUG );
139- $ Stream ->setFormatter (
140- new LineFormatter (self ::OUTPUT_FORMAT , self ::DATE_FORMAT , true )
141- );
142- return $ Stream ;
143- }
144-
145119 /**
146120 * Print debug value
147121 *
@@ -205,7 +179,7 @@ public function debugValue($var, int $flags = null)
205179 */
206180 public function logValue ($ var , int $ flags = null )
207181 {
208- $ this ->Logger ->addDebug (static ::debugValue ($ var , $ flags ));
182+ $ this ->Logger ->debug (static ::debugValue ($ var , $ flags ));
209183 }
210184
211185 /**
0 commit comments