Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
80.00% |
4 / 5 |
CRAP | |
94.12% |
32 / 34 |
AbstractLogger | |
0.00% |
0 / 1 |
|
83.33% |
5 / 6 |
17.06 | |
94.12% |
32 / 34 |
_getTimeString() | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
log($message, $eventType = ScreenLogger::NORMAL) | |
100.00% |
1 / 1 |
1 | ||||||
debug($bool = true) | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
_getString($message, $timeString, $eventType) | |
0.00% |
0 / 1 |
2.50 | |
50.00% |
2 / 4 |
|||
logDebug($message) | |
100.00% |
1 / 1 |
2 | |
100.00% |
4 / 4 |
|||
logError(\Exception $e) | |
100.00% |
1 / 1 |
10 | |
100.00% |
22 / 22 |
<?php | |
/** | |
* | |
*/ | |
namespace aae\log { | |
/** | |
* @author Axel Ancona Esselmann | |
* @package aae\log | |
*/ | |
abstract class AbstractLogger { | |
const NORMAL = 0, DEBUG = 1, FATAL = 2; | |
private $_debug = false; | |
protected $_newLine = "\n"; | |
protected function _getTimeString() { | |
date_default_timezone_set('America/Los_Angeles'); | |
return date('m/d/Y h:i:s a', time()); | |
} | |
abstract public function log($message, $eventType = ScreenLogger::NORMAL); | |
public function debug($bool = true) { | |
$this->_debug = (bool)$bool; | |
} | |
protected function _getString($message, $timeString, $eventType) { | |
if (!is_string($message)) { | |
$message = serialize($message); | |
} | |
return "Type: {$eventType}, Time: {$timeString}, Message: '{$message}'\n"; | |
} | |
public function logDebug($message) { | |
if ($this->_debug) { | |
$this->log($message, AbstractLogger::DEBUG); | |
} | |
} | |
public function logError(\Exception $e) { | |
$errorMessage = get_class($e)." {$e->getCode()} with message: '{$e->getMessage()}'"; | |
if ($this->_debug) { | |
$errorMessage .= $this->_newLine.$this->_newLine."Exception stack:".$this->_newLine; | |
$trace = $e->getTrace(); | |
for ($i=0; $i < count($trace); $i++) { | |
if (isset($trace[$i]["file"])) { | |
$file = " in '".$trace[$i]["file"]."' on line ".$trace[$i]["line"]; | |
} else { | |
$file = ""; | |
} | |
$class = ""; | |
$type = ""; | |
if (isset($trace[$i]["class"])) { | |
$class = $trace[$i]["class"]; | |
$type = $trace[$i]["type"]; | |
} | |
if ($class != "PHPUnit_Framework_TestCase" && $class != "PHPUnit_Framework_TestSuite" && $class != "PHPUnit_Framework_TestResult" && $class != "PHPUnit_TextUI_TestRunner" && $class != "PHPUnit_TextUI_Command") { | |
$errorMessage .= $this->_newLine.$class.$type.$trace[$i]["function"].$file; | |
} | |
} | |
} | |
$this->log($errorMessage, AbstractLogger::FATAL); | |
} | |
} | |
} |