亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP記錄和讀取JSON格式日志文件

2024-05-04 23:47:41
字體:
來源:轉載
供稿:網友

我們有時需要記錄用戶或者后端的某個操作事件的運行情況,可以使用后端語言如PHP將操作結果記錄到日志文件中,方便測試和查找問題。尤其是這些在后端運行的而前端不能直接看到運行結果的,那么就可以用日志文件記錄下來,如果你經常跟一些接口開發如支付寶接口、微信卡券接口打交道的話,日志記錄就必不可少了。 

我們講的PHP記錄日志,就是將日志信息寫入到一個日志文件中,區別于內存日志。寫入日志的流程是:打開日志文件(如果不存在則新創建),然后將日志內容追加到日志文件的后面,最后關閉日志文件。

本文中,我們將日志內容以json個格式保存,方便必要時直接讀取。

PHP寫日志文件
PHP寫日志文件需要打開、寫入和關閉文件等操作,PHP有fopen(),fwrite()和fclose()三個函數與之對應,而另一個函數file_put_contents()它也能字符串寫入文件,其實這個函數實現了依次調用 fopen(),fwrite() 以及 fclose()。所以我們使用file_put_contents()非常簡潔。值得注意的是,往文件后面追加內容時需要帶上參數:FILE_APPEND。

實際運行中,我們有可能會遇到日志文件超大的情況,所以我們設置一個最大值,當日志文件大小超過這個最大值時,將此日志文件備份好,然后重新生成一個新的日志文件來記錄新的日志內容。

在寫日志前,我們將日志內容進行json格式化,所以需要將內容轉化成JSON格式,然后寫入文件。當然你也可以不用json,或者換作別的工具程序(如日志分析工具)可以閱讀的格式??傊?,我們寫入的內容是方便必要時可以方便讀取。

 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)) > 1024000)){   $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);  } 

PHP讀日志文件
必要時,我們會讀取日志內容進行分析,同樣我們使用PHP的file_get_contents()函數,直接將內容讀取,并且轉換成json格式,方便調用。

 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;  } 

日志寫入和讀取類
寫入和讀取日志的功能我們經常要用到,所以我將寫入和讀取功能整理成類,方便調用。

<?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;  } }  ?> 

使用方法:

$filename = "logs/log_".date("Ymd",time()).".txt"; $msg = '寫入了日志'; $Log = new Log(); //實例化 $Log->writeLog($filename,$msg); //寫入日志 $loglist = $Log->readLog($filename); //讀取日志 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品激情在线观看| 国产精品丝袜视频| 国产欧美精品日韩| 亚洲成人av资源网| 97在线观看视频国产| 久久成年人免费电影| 国产98色在线| 日本亚洲欧洲色| 欧美专区第一页| 亚洲第一页在线| 日韩电影中文字幕一区| 日韩美女av在线| 日韩电影中文 亚洲精品乱码| 国产精品亚发布| 亚洲欧美国产一区二区三区| 狠狠躁18三区二区一区| 97精品国产97久久久久久| 久久久伊人日本| 日韩欧美国产网站| 久久亚洲精品成人| 日本在线观看天堂男亚洲| 亚洲va国产va天堂va久久| 日韩中文字幕第一页| 欧美一区二区三区四区在线| 国产成人精品视频在线观看| 在线观看欧美日韩| 久久精品国产99国产精品澳门| 欧美日韩在线观看视频小说| 国产98色在线| 欧美专区在线播放| 日产日韩在线亚洲欧美| 2024亚洲男人天堂| 欧美中文在线视频| 国产精品国语对白| 国产精品成人一区二区三区吃奶| 欧美一级免费视频| 日韩麻豆第一页| 中文字幕不卡av| 日本精品免费一区二区三区| 久久影院资源站| 18性欧美xxxⅹ性满足| 992tv在线成人免费观看| 2018中文字幕一区二区三区| 国产亚洲精品91在线| 国产精品久久久久77777| 欧美区二区三区| 欧美成人精品在线视频| 久热在线中文字幕色999舞| 欧美激情第1页| 狠狠躁夜夜躁人人躁婷婷91| 欧美日韩中文在线观看| 91免费精品国偷自产在线| 欧美伊久线香蕉线新在线| 日韩精品久久久久久久玫瑰园| 精品亚洲夜色av98在线观看| 久久亚洲综合国产精品99麻豆精品福利| 亚洲美女动态图120秒| 亚洲午夜性刺激影院| 色小说视频一区| 成人97在线观看视频| 国产91精品高潮白浆喷水| 欧美成人免费在线视频| 亚洲天堂av网| 欧美激情在线播放| 色综合久久精品亚洲国产| 国产91精品黑色丝袜高跟鞋| 欧美精品一区在线播放| 亚洲视频视频在线| 成人黄色片网站| 成人精品在线视频| 亚洲成人av中文字幕| 亚洲美女福利视频网站| 美女福利精品视频| 久久乐国产精品| 欧美与黑人午夜性猛交久久久| 国产中文字幕91| 国产成人精品av| 日韩av有码在线| 精品露脸国产偷人在视频| 日韩免费在线免费观看| 色综合老司机第九色激情| 日韩欧美有码在线| 亚洲国产毛片完整版| 亚洲精品v天堂中文字幕| 日韩高清人体午夜| 国产精品久久久久久久午夜| 国产欧美日韩丝袜精品一区| 欧美日韩精品二区| 久久99精品国产99久久6尤物| 97视频在线看| 精品欧美一区二区三区| 91视频免费在线| 久久久久久久久久久成人| 97精品国产97久久久久久| 欧美精品久久久久久久免费观看| 欧美人交a欧美精品| 影音先锋欧美在线资源| 亚洲成人国产精品| 国色天香2019中文字幕在线观看| 成人免费在线网址| 色老头一区二区三区在线观看| 久久国产视频网站| 中文字幕日韩欧美精品在线观看| 91精品成人久久| 国产精品欧美日韩| 国产成人精品免费久久久久| 久久精品国产久精国产思思| 91久久中文字幕| 在线不卡国产精品| 亚州国产精品久久久| 91国偷自产一区二区三区的观看方式| 久热精品视频在线| 久久久精品久久久久| 麻豆成人在线看| 国产日韩专区在线| 成人网在线免费观看| 国产精品亚洲片夜色在线| 日韩av片电影专区| 国产精品成人一区二区三区吃奶| 欧美一性一乱一交一视频| 97在线观看视频国产| 国产亚洲激情在线| 精品成人在线视频| 久久影院资源站| 色香阁99久久精品久久久| 国产视频精品xxxx| 最近2019年中文视频免费在线观看| 中文字幕亚洲专区| 欧美日韩爱爱视频| 亚洲一级片在线看| 午夜精品福利电影| 5278欧美一区二区三区| 国产丝袜一区二区三区| 日韩精品免费一线在线观看| 亚洲欧美制服综合另类| 日本不卡免费高清视频| 欧美精品一区二区免费| 乱亲女秽乱长久久久| 亚洲男人天堂2019| 亚洲欧美在线磁力| 国产精品第二页| 国产成人av网址| 国产裸体写真av一区二区| 国产精品麻豆va在线播放| 欧美日韩国产中文精品字幕自在自线| 日日骚久久av| 高清日韩电视剧大全免费播放在线观看| 日韩中文字幕视频在线| 国产精品久久久久久久久影视| 亚洲伊人成综合成人网| 午夜欧美大片免费观看| 久久偷看各类女兵18女厕嘘嘘| 色偷偷888欧美精品久久久| 国内精品久久久久久中文字幕| 午夜精品久久久久久久久久久久| 久久激情视频免费观看| 欧美日韩国产va另类| 黄色精品一区二区| 欧美精品在线播放| 欧美一级在线亚洲天堂| 成人444kkkk在线观看| 国产亚洲精品美女| 精品国产成人av| 国产美女被下药99|