61 lines
1.1 KiB
PHP
61 lines
1.1 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
*/
|
|
|
|
class LogRecordType{
|
|
const WARNING = 'warning';
|
|
const ERROR = 'error';
|
|
const INFO = 'info';
|
|
}
|
|
|
|
class LogKeeper
|
|
{
|
|
function purge($days){
|
|
$todayFileName = date("Y-m-d").'.log';
|
|
$seconds = $days * 86400;
|
|
|
|
$logFiles = scandir('./app/logs/');
|
|
foreach ($logFiles as $key => $file) {
|
|
if (in_array($file,array(".","..", ".gitkeep", $todayFileName)))
|
|
{
|
|
continue;
|
|
}
|
|
if (filemtime($file) > $seconds) {
|
|
unlink('./app/logs/'.$file);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class LogManager
|
|
{
|
|
|
|
private $logFile;
|
|
function __construct($fileName = "")
|
|
{
|
|
if ($fileName == ""){
|
|
$fileName = './app/logs/'. date("Y-m-d").'.log';
|
|
}
|
|
if(!is_dir("./app/logs/"))
|
|
{
|
|
mkdir("./app/logs/");
|
|
}
|
|
$this->logFile = fopen($fileName, "a") or die("Unable to open file!");
|
|
}
|
|
|
|
function write($value, $type = LogRecordType::ERROR){
|
|
$record = "[".date("H:m:s")."][".$type."]" . $value . "\n";
|
|
if (strlen($record) > 65 ) {
|
|
$record = Utilities::stringInsert($record,"\n",65);
|
|
}
|
|
fwrite($this->logFile, $record);
|
|
}
|
|
|
|
function __destruct(){
|
|
if (isset($this->logFile)) {
|
|
fclose($this->logFile);
|
|
}
|
|
}
|
|
}
|