欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP记录日志来调试代码

程序员文章站 2022-05-20 09:58:11
...
Thinkphp自带日志系统,生成的文件在 Runtime下面。今天我们就介绍一款原生写的插入日志方法,记录访问者的ip,访问时间和浏览器类型。
PHP记录日志来调试代码
生成日志类 /*
* 日志记录
* 每天生成一个日志文件,当文件超过指定大小则备份日志文件并重新生成新的日志文件
*
*/
class Log {

private $maxsize = 1024000; //最大文件大小1M

//写入日志
public function writeLog($filename,$msg){
$res = array();
$res['msg'] = $msg;
$res['logtime'] = date("Y-m-d H:i:s",time());

//如果日志文件超过了指定大小则备份日志文件
if(file_exists($filename) && (abs(filesize($filename)) > $this->maxsize)){
$newfilename = dirname($filename).'/'.time().'-'.basename($filename);
rename($filename, $newfilename);
}

//如果是新建的日志文件,去掉内容中的第一个字符逗号
if(file_exists($filename) && abs(filesize($filename))>0){
$content = ",".json_encode($res);
}else{
$content = json_encode($res);
}

//往日志文件内容后面追加日志内容
file_put_contents($filename, $content, FILE_APPEND);
}


//读取日志
public function readLog($filename){
if(file_exists($filename)){
$content = file_get_contents($filename);
$json = json_decode('['.$content.']',true);
}else{
$json = '{"msg":"The file does not exist."}';
}
return $json;
}
}
?>
写入和读取日志$Log = new Log();
$Log->writeLog($filename, $msg);
$loglist = $Log->readLog($filename);
查看生成的日志:http://www.sucaihuo.com/js/903.html

PHP记录日志来调试代码 PHP记录用户访问ip、浏览器类型和访问时间到txt日志文件.zip ( 5.08 KB 下载:0 次 )