第一步: 引入tp5自帶log日志類
use \think\Log;
第二步配置日志文件
Log::init([ // 日志記錄方式,內置 file socket 支持擴展 'type' => 'File', // 日志保存目錄 'path' => APP_PATH . 'logs/', // 日志記錄級別 'level' => ['error'], ]);
第三部調用日志輸錯日志內容
Log::error('phone: ' . input('phone') . "\n");
官方給出的日志文檔如下:
日志級別
ThinkPHP對系統的日志按照級別來分類,並且這個日志級別完全可以自己定義,系統內部使用的級別包括:
- log 常規日志,用於記錄日志
- error 錯誤,一般會導致程序的終止
- notice 警告,程序可以運行但是還不夠完美的錯誤
- info 信息,程序輸出信息
- debug 調試,用於調試信息
- sql SQL語句,用於SQL記錄,只在數據庫的調試模式開啟時有效
系統提供了不同日志級別的快速記錄方法,例如:
Log::error('錯誤信息'); Log::info('日志信息'); // 和下面的用法等效 Log::record('錯誤信息','error'); Log::record('日志信息','info');
還封裝了一個助手函數用於日志記錄,例如:
trace('錯誤信息','error');
trace('日志信息','info');
也支持指定級別日志的輸入,需要配置信息:
'log' => [ 'type' => 'File', // 日志記錄級別,使用數組表示 'level' => ['error'], ],
單文件日志
在某些情況下,需要對日志記錄進行分析和處理,那么開啟單文件日志寫入就會方便分析
'log' => [ 'type' => 'File', // 日志記錄級別,使用數組表示 'single' => true, ],
開啟后,日志文件不再區分日期文件寫入,而是統一寫入到single.log
文件中。
日志自動清理
V5.0.16+
版本開始,支持文件日志的自動清理功能,你可以設置
'max_files' => 30
則日志文件最多只會保留30個,超過會自動清理較早的日志文件,避免日志文件長期寫入占滿磁盤空間。
phpstudy 配置日志文件
需要將php.ini中的配置指令做如下修改:
1. error_reporting = E_ALL ;將會向PHP報告發生的每個錯誤
2. display_errors = Off ;不顯示滿足上條 指令所定義規則的所有錯誤報告
3. log_errors = On ;決定日志語句記錄的位置
4. log_errors_max_len = 1024 ;設置每個日志項的最大長度
5. error_log = E:/php_log/php_error.log ;指定產生的 錯誤報告寫入的日志文件位置
輸出錯誤日志信息
error_log("輸出錯誤日志", 0);
phpstudy mysql 開啟錯誤日志方法
在的配置文件mysql-ini中加入下面的配置
log-error="D:/phpStudy/MySQL/logs/error.log"
log="D:/phpStudy/MySQL/logs/mysql.log"
long_query_time=2
log-slow-queries= "D:/phpStudy/MySQL/logs/slowquery.log"