pixmicat - Blame information for rev 891

Subversion Repositories:
Rev:
Rev Author Line No. Line
833 scribe 1 <?php
2 /**
3  * A simple ILogger implementation.
4  * Log everything it got to the log file. (Default log level: ERROR only)
5  *
6  * @package PMCLibrary
7  * @version $Id: lib_simplelogger.php 891 2013-09-11 12:21:28Z scribe $
8  */
9  
10 class SimpleLogger implements ILogger {
11         private $logName;
837 scribe 12         private $logFile;
833 scribe 13  
837 scribe 14         public function __construct($logName, $logFile) {
833 scribe 15                 $this->logName = $logName;
843 scribe 16                 $this->logFile = $logFile;
833 scribe 17         }
18  
836 scribe 19         public function isDebugEnabled() {
20                 return (defined('DEBUG') && DEBUG);
833 scribe 21         }
836 scribe 22  
23         public function isInfoEnabled() {
24                 return (defined('DEBUG') && DEBUG);
25         }
26  
27         public function isErrorEnabled() {
28                 return true;
29         }
30  
31         public function debug($format, $varargs = '') {
32                 if (!$this->isDebugEnabled()) return;
33  
34                 if (is_array($varargs)) {
35                         // Array into structure string
36                         $varargs = array(var_export($varargs, true));
37                 } else {
38                         $varargs = func_get_args();
845 scribe 39                         array_shift($varargs);
40                 }
41                 $this->logFormat('DEBUG', $format, $varargs);
836 scribe 42         }
43  
44         public function info($format, $varargs = '') {
45                 if (!$this->isInfoEnabled()) return;
46  
47                 $varargs = func_get_args();
845 scribe 48                 array_shift($varargs);
49                 $this->logFormat(' INFO', $format, $varargs);
836 scribe 50         }
51  
52         public function error($format, $varargs = '') {
53                 if (!$this->isErrorEnabled()) return;
54  
55                 $varargs = func_get_args();
845 scribe 56                 array_shift($varargs);
57                 $this->logFormat('ERROR', $format, $varargs);
836 scribe 58         }
59  
60         /**
61          * Log with format message.
62          *
63          * @param  string $logLevel   Log level
64          * @param  string $message Format message
65          * @param  array  $vars    Prarameters
66          */
67         private function logFormat($logLevel, $message, array $vars) {
68                 $dateTime = date('c');
69                 $message = vsprintf($message, $vars);
891 scribe 70                 file_put_contents(
71                         $this->logFile,
72                         "$dateTime $logLevel {$this->logName} - $message".PHP_EOL,
73                         FILE_APPEND
74                 );
836 scribe 75         }
833 scribe 76 }