[ 概述 ]
ThinkPHP內置了日志處理類,無需導入就可以直接使用。Log類提供了包括記錄系統異常和錯誤和調試信息,以及SQL信息等功能,日志文件分別對應為WEB_LOG_ERROR 、WEB_LOG_DEBUG和SQL_LOG_DEBUG三種類型,對應的日志文件名稱為:
systemErr.log主要用于WEB_LOG_ERROR類型日志
用于記錄系統異常,通常為拋出異?;蛘卟东@嚴重錯誤后自動記錄
systemOut.log主要用于WEB_LOG_DEBUG日志類型
用于記錄調試信息和頁面的一些非嚴重錯誤記錄,調試信息一般為system_out方法寫入。
systemSql.log 主要是用于SQL_LOG_DEBUG日志類型
記錄執行過程中的SQL語句和執行時間,便于進行分析和優化。
日志文件的命名規則是前面增加日期前綴,原則上是一天的同類型的日志記錄在一個文件里面,您可以隨時查看日志文件,例如:
- 07_09_21_systemOut.log // 2007年9月21日的錯誤日志文件
- 07_12_03_systemSql.log // 2007年12月3日的SQL日志文件
- 07_02_03_systemErr.log // 2007年2月3日的異常日志文件
復制代碼
相關配置
- 'WEB_LOG_RECORD' => false, // 默認不記錄日志
- 'LOG_FILE_SIZE' => 2097152, // 日志文件大小限制
復制代碼
設置WEB_LOG_RECORD為true就可以啟用日志記錄功能,可以設置LOG_FILE_SIZE參數來限制日志文件的大小,超過大小的日志會形成備份文件。備份文件的格式是在當前文件名前面加上備份的時間戳,例如:
1189571417-07_09_12_systemSql.log 備份的SQL日志文件
在系統的調試模式中,系統的所有異常和錯誤都會記錄到系統日志中,在正式部署應用后,您可以關閉調試模式,這樣系統就不會自動完成日志記錄,除非你自己觸發日志寫入。
系統對每個項目單獨記錄日志,所以查看的時候請注意定位到某個項目目錄下。
如果您的應用組件需要記錄特殊的日志,也可以調用(或者擴展)該方法來完成。
[ 方法 ]
Log類提供了三個靜態方法
Log::record($message,$type=WEB_LOG_ERROR)
記錄Log信息和類型 默認是錯誤日志類型
Log::save()
把record方法記錄的日志信息統一保存到文件
Log::write($message,$type=WEB_LOG_ERROR,$file='')
直接寫入日志信息
$message 是要記錄的日志信息
$type 就是日志類型
$file 日志文件位置和名稱,該參數可以改變系統默認的日志文件命名。
[ 示例 ]
Log類使用的簡單例子:
- // 記錄日志信息 但是不保存到文件
- Log::record('用戶數據錯誤');
- Log::record('保存用戶信息發生異常',WEB_LOG_ERROR);
- // 把上面的日志信息寫入文件保存
- Log::save();
- // 直接寫入日志文件
- Log::write('這里記錄一下',WEB_LOG_DEBUG);
|