1. 程式人生 > >使用Thinkphp框架,將某些東西寫進log日誌,日誌寫入方法

使用Thinkphp框架,將某些東西寫進log日誌,日誌寫入方法

1.首先在thinkphp 的配置檔案中找到:LOG_RECORD和LOG_EXCEPTION_RECORD引數,設定為true,以及可以在專案配置檔案中配置需要記錄的日誌級別


    'LOG_RECORD'            =>  true,   // 預設不記錄日誌
    'LOG_TYPE'              =>  'File', // 日誌記錄型別 預設為檔案方式
    'LOG_LEVEL'             =>  'EMERG,ALERT,CRIT,ERR',// 允許記錄的日誌級別
    'LOG_FILE_SIZE'         =>  2097152,// 日誌檔案大小限制
    'LOG_EXCEPTION_RECORD'  =>  true,    // 是否記錄異常資訊日誌

2.thinkphp 專案日誌輸出類的目錄為:TP/Lib/Core/Log.class.PHP

參考的thinkphp 開發手冊如下:

通常日誌檔案的寫入是自動完成的,如果我們需要在開發的過程中手動記錄日誌資訊,可以使用Log類的方法來操作。日誌檔案的寫入有兩種方法:
一、使用Log::write 方法

Log::write 直接寫入日誌
用法 Log::write($message,$level=self::ERR,$type='',$destination='',$extra='')
引數 message(必須):要記錄的日誌資訊,字串

level(可選):要記錄的日誌級別,預設為ERR 錯誤

type(可選):日誌記錄方式,預設為空取LOG_TYPE配置

destination(可選):日誌記錄目標,預設為空自動生成或LOG_DEST配置

extra(可選):日誌記錄額外引數,預設為空取LOG_EXTRA配置
返回值
如:你要將$sql 變數寫進日誌: Log::write('除錯的SQL:'.$SQL,Log::SQL);表示用預設的日誌記錄方式記錄除錯SQL資訊
二、使用Log::record和 Log::save方法
Log::record記錄日誌
用法 Log::record($message,$level=self::ERR,$record=false)
引數 message(必須):要記錄的日誌資訊,字串
level(可選):要記錄的日誌級別,預設為ERR 錯誤
record(可選):是否強制記錄,預設為false表示判斷LOG_LEVEL配置
返回值
Log::record方法必須結合Log::save方法才能完成日誌記錄,因為record方法只是把日誌資訊儲存到記憶體,並沒有真正寫入日誌,直到呼叫Log::save方法。
Log::save 儲存記錄的日誌
用法 Log::save($type='',$destination='',$extra='')
引數 type(可選):日誌記錄方式,預設為空取LOG_TYPE配置
destination(可選):日誌記錄目標,預設為空自動生成或LOG_DEST配置
extra(可選):日誌記錄額外引數,預設為空取LOG_EXTRA配置
返回值
使用示例:
  1. Log::record('測試除錯錯誤資訊',Log::DEBUG);
  2. Log::record('除錯的SQL:'.$SQL,Log::SQL);
  3. Log::save();