You cannot 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
774 B
PHP
43 lines
774 B
PHP
<?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);
|
|
}
|
|
}
|
|
?>
|