Tp5 根據情況開啟/關閉自動日志記錄


Tp5自帶的日志記錄是所有的異常都會給記錄,而且非常詳細,

而異常我把它分為兩種,一種是自己代碼編寫錯誤導致的服務器錯誤,還有一種是用戶通過輸入造成的異常

這兩種異常如果都給記錄日志沒必要,如果用戶每輸入一個導致異常 那就記錄一下,那將會有很多的日志

所以在這里先關閉tp5自己的日志記錄功能

 1 config.php
 2 
 3 
 4 'log'                    => [
 5         // 日志記錄方式,內置 file socket 支持擴展
 6         'type'  => 'test',
 7         // 日志保存目錄
 8         'path'  => LOG_PATH,
 9         // 日志記錄級別
10         'level' => [],
11     ],

把type改成test就好

下面在我們的自定義異常處理類中創建一個記錄日志的方法,在方法中重置log配置記錄日志,

 1 //tp的日志默認是關閉的,所以下面是初始化日志配置,在日志中記錄錯誤信息
 2     private function recordErrorLog(Exception $e)
 3     {
 4         log::init([
 5             'type' => 'File',
 6             'path' => LOG_PATH,
 7             'level' => ['error']
 8         ]);
 9         Log::record($e->getMessage(), 'error');
10     }

 

而在我們自己寫的代碼中的異常又分為兩種

一種是自己已經自定義的異常,一種是還沒定義的異常

自己定義的異常信息自己已經表明了,當觸發時返回自己定義的信息自己就會很明白哪里錯了,所以是不需要記錄日志的,

而真正需要記錄日志的是那些未知的錯誤,記錄到日志里用來看哪里錯了

 

而在需要記錄日志的異常中只需要一句話就好

$this->recordErrorLog($e);

 

 

正在學習中,在此記錄學習過程中的個人理解,如有錯誤或更好的理解望指出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM