>  기사  >  php教程  >  코드 디버그를 위한 PHP 로깅

코드 디버그를 위한 PHP 로깅

WBOY
WBOY원래의
2016-08-08 08:50:031765검색

Thinkphp는 자체 로그 시스템과 함께 제공되며 생성된 파일은 런타임에 있습니다. 오늘은 방문자의 IP, 접속시간, 브라우저 종류를 기록하는 네이티브 작성 로그 삽입 방법을 소개하겠습니다.
코드 디버그를 위한 PHP 로깅
로그 클래스 생성<?php <code class="prettyprint linenums lang-php"><?php <br /> /*<br>  * 日志记录<br>  * 每天生成一个日志文件,当文件超过指定大小则备份日志文件并重新生成新的日志文件<br>  *<br> */<br> class Log {<br> <br>     private $maxsize = 1024000; //最大文件大小1M<br>     <br>     //写入日志<br>     public function writeLog($filename,$msg){<br>         $res = array();<br>         $res['msg'] = $msg;<br>         $res['logtime'] = date("Y-m-d H:i:s",time());<br> <br>         //如果日志文件超过了指定大小则备份日志文件<br>         if(file_exists($filename) && (abs(filesize($filename)) > $this->maxsize)){<br>             $newfilename = dirname($filename).'/'.time().'-'.basename($filename);<br>             rename($filename, $newfilename);<br>         }<br> <br>         //如果是新建的日志文件,去掉内容中的第一个字符逗号<br>         if(file_exists($filename) && abs(filesize($filename))>0){<br>             $content = ",".json_encode($res);<br>         }else{<br>             $content = json_encode($res);<br>         }<br> <br>         //往日志文件内容后面追加日志内容<br>         file_put_contents($filename, $content, FILE_APPEND);<br>     }<br> <br> <br>     //读取日志<br>     public function readLog($filename){<br>         if(file_exists($filename)){<br>             $content = file_get_contents($filename);<br>             $json = json_decode('['.$content.']',true);<br>         }else{<br>             $json = '{"msg":"The file does not exist."}';<br>         }<br>         return $json;<br>     }<br> }<br>  ?> /*$Log = new Log();<br> $Log->writeLog($filename, $msg);<br> $loglist = $Log->readLog($filename); * 로그기록

* 매일 로그 파일을 생성하세요. 파일이 지정된 크기를 초과하면 로그 파일을 백업하고 새 로그 파일을 다시 생성하세요코드 디버그를 위한 PHP 로깅 * */ 클래스 로그 {

Private $maxsize = 1024000; //최대 파일 크기 1M //로그에 쓰기

공개 함수 writeLog($filename,$msg){          $res = 배열();          $res['msg'] = $msg;         $res['logtime'] = 날짜("연-월 H:i:s",time()); ​​​​ //로그 파일이 지정된 크기를 초과하는 경우 로그 파일 백업 If(file_exists($filename) && (abs(filesize($filename)) > $this->maxsize)){ $newfilename = dirname($filename).'/'.time().'-'.basename($filename);                이름 바꾸기($filename, $newfilename);         } ​​​​ //새 로그 파일인 경우 내용의 첫 번째 문자 쉼표 를 제거합니다. If(file_exists($filename) && abs(filesize($filename))>0){              $content = ",".json_encode($res);           }그 외{              $content = json_encode($res);         }               //로그 파일 내용 뒤에 로그 내용 추가           file_put_contents($filename, $content, FILE_APPEND); } //로그 읽기 공개 함수 readLog($filename){ If(파일_존재($filename)){               $content = file_get_contents($filename);               $json = json_decode('['.$content.']',true);           }그 외{              $json = '{"msg":"파일이 존재하지 않습니다."}';         }          $json 반환; } } ?>로그 쓰기 및 읽기$Log = new Log(); $Log->writeLog($filename, $msg); $loglist = $Log->readLog($filename);생성된 로그 보기: http://www.sucaihuo.com/js/903.html PHP는 사용자 액세스 IP, 브라우저 유형 및 액세스 시간을 txt 로그 파일에 기록합니다.zip ( 5.08KB 다운로드: 0회 )
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.