You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
816 B
43 lines
816 B
<?php |
|
class TopLogger |
|
{ |
|
public $conf = array( |
|
"separator" => "\t", |
|
"log_file" => "" |
|
); |
|
|
|
private $fileHandle; |
|
|
|
protected function getFileHandle() |
|
{ |
|
if (null === $this->fileHandle) |
|
{ |
|
if (empty($this->conf["log_file"])) |
|
{ |
|
trigger_error("no log file spcified."); |
|
} |
|
$logDir = dirname($this->conf["log_file"]); |
|
if (!is_dir($logDir)) |
|
{ |
|
mkdir($logDir, 0777, true); |
|
} |
|
$this->fileHandle = fopen($this->conf["log_file"], "a"); |
|
} |
|
return $this->fileHandle; |
|
} |
|
|
|
public function log($logData) |
|
{ |
|
if ("" == $logData || array() == $logData) |
|
{ |
|
return false; |
|
} |
|
if (is_array($logData)) |
|
{ |
|
$logData = implode($this->conf["separator"], $logData); |
|
} |
|
$logData = $logData. "\n"; |
|
fwrite($this->getFileHandle(), $logData); |
|
} |
|
} |
|
?>
|