php輸出日志的實現
思想:在想要輸出log日志的地方,使用php的寫入文件函數,把數據寫入到事先定義好的文件中。
php代碼如下: //輸出日志 public function outputLog() { logOutput(time()); sleep(3); $arr = array("k1" => "v1", "k2" => "v2"); logOutput($arr); $this->display(); } logOutput()函數: /** * @param string,array $data 需要輸出到日志中的數據 * @return null */ function logOutput($data) { //數據類型檢測 if (is_array($data)) { $data = json_encode($data); } $filename = "./log/".date("Y-m-d").".log"; $str = date("Y-m-d H:i:s")." $data"."\n"; file_put_contents($filename, $str, FILE_APPEND|LOCK_EX); return null; }
file_put_contents() 函數把一個字符串寫入文件中。 與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。 語法 file_put_contents(file,data,mode,context) 參數 描述 file 必需。規定要寫入數據的文件。如果文件不存在,則創建一個新文件。 data 可選。規定要寫入文件的數據。可以是字符串、數組或數據流。 mode 可選。規定如何打開/寫入文件。可能的值: FILE_USE_INCLUDE_PATH FILE_APPEND 追加數據而不是覆蓋 LOCK_EX 寫入數據時,鎖住文件,防止其他人對文件的改動 context 可選。規定文件句柄的環境。(不懂何用) context 是一套可以修改流的行為的選項。若使用 null,則忽略。
- 意義:
- 在可能出錯的地方,進行調試時,輸出錯誤信息
- 輸出變量,進行調試,可以避免平常的var_dump、dump函數打印一長串的數據,影響頁面布局