PHP如何封裝列印日誌的方法(附代碼)

來源:互聯網
上載者:User
本篇文章給大家帶來的內容是關於PHP如何封裝列印日誌的方法(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所協助。

最近項目上線出現了問題,大量使用者正在使用,找了半天原因,最終還是依靠列印列印記錄檔,找到了錯誤出現的位置!所以,開發過程中,對可能出現錯誤的地方,列印日誌是非常非常重要的一件事情!下面我就來詳細講下!

1、用到的函數file_put_contents()

file_put_contents() 函數把一個字串寫入檔案中。

該函數訪問檔案時,遵循以下規則:

  1. 如果設定了 FILE_USE_INCLUDE_PATH,那麼將檢查 *filename* 副本的內建路徑

  2. 如果檔案不存在,將建立一個檔案

  3. 開啟檔案

  4. 如果設定了 LOCK_EX,那麼將鎖定檔案

  5. 如果設定了 FILE_APPEND,那麼將移至檔案末尾。否則,將會清除檔案的內容

  6. 向檔案中寫入資料

  7. 關閉檔案並對所有檔案解鎖

如果成功,該函數將返回寫入檔案中的字元數。如果失敗,則返回 False。

文法

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
參數 描述
file 必需。規定要寫入資料的檔案。如果檔案不存在,則建立一個新檔案。
data 必需。規定要寫入檔案的資料。可以是字串、數組或資料流。
mode 可選。規定如何開啟/寫入檔案。可能的值:
  • FILE_USE_INCLUDE_PATH

  • FILE_APPEND

  • LOCK_EX

context 可選。規定檔案控制代碼的環境。context 是一套可以修改流的行為的選項。

2、封裝記錄檔makeLog()方法

<?php/** * 聲明檔案日誌 * @param string $type * @param string $data */public function makeLog($type='',$data=''){  if(!empty($type)){  // 'DIR_LOG'=>'/home/www/ymd/public/ymd/logs/' @file_put_contents(C('DIR_LOG').$type."/".$type.'_'.date('YmdH').'.txt',$data."\n",FILE_APPEND); }}//調用檔案日誌 $this->makeLog('ymd','日誌記錄');
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.