国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

thinkphp日志記錄功能

2019-03-12 16:53:14 7651

日志的處理工作是由系統(tǒng)自動進行的,在開啟日志記錄的情況下,會記錄下允許的日志級別的所有日志信息。

其中,為了性能考慮,SQL日志級別必須在調(diào)試模式開啟下有效,否則就不會記錄。 系統(tǒng)的日志記錄由核心的Think\Log類及其驅(qū)動完成,提供了多種方式記錄了不同的級別的日志信息。

默認情況下只是在調(diào)試模式記錄日志,要在部署模式開啟日志記錄,必須在配置中開啟LOG_RECORD參數(shù),以及可以在應(yīng)用配置文件中配置需要記錄的日志級別,例如:

'LOG_RECORD' => true, // 開啟日志記錄'LOG_LEVEL'  =>'EMERG,ALERT,CRIT,ERR', // 只記錄EMERG ALERT CRIT ERR 錯誤

日志的記錄并非實時保存的,只有當當前請求完成或者異常結(jié)束后才會實際寫入日志信息,否則只是記錄在內(nèi)存中。

日志級別

ThinkPHP對系統(tǒng)的日志按照級別來分類,包括:

  • EMERG 嚴重錯誤,導(dǎo)致系統(tǒng)崩潰無法使用

  • ALERT 警戒性錯誤, 必須被立即修改的錯誤

  • CRIT 臨界值錯誤, 超過臨界值的錯誤

  • ERR 一般性錯誤

  • WARN 警告性錯誤, 需要發(fā)出警告的錯誤

  • NOTICE 通知,程序可以運行但是還不夠完美的錯誤

  • INFO 信息,程序輸出信息

  • DEBUG 調(diào)試,用于調(diào)試信息

  • SQL SQL語句,該級別只在調(diào)試模式開啟時有效

記錄方式

日志的記錄方式默認是文件方式,可以通過驅(qū)動的方式來擴展支持更多的記錄方式。

記錄方式由LOG_TYPE參數(shù)配置,例如:

'LOG_TYPE'              =>  'File', // 日志記錄類型 默認為文件方式

File方式記錄,對應(yīng)的驅(qū)動文件位于系統(tǒng)的Library/Think/Log/Driver/File.class.php

手動記錄

一般情況下,系統(tǒng)的日志記錄是自動的,無需手動記錄,但是某些時候也需要手動記錄日志信息,Log類提供了3個方法用于記錄日志。

方法描述
Log::record()記錄日志信息到內(nèi)存
Log::save()把保存在內(nèi)存中的日志信息(用指定的記錄方式)寫入
Log::write()實時寫入一條日志信息

由于系統(tǒng)在請求結(jié)束后會自動調(diào)用Log::save方法,所以通常,你只需要調(diào)用Log::record記錄日志信息即可。

record方法用法如下:

Think\Log::record('測試日志信息');

默認的話記錄的日志級別是ERR,也可以指定日志級別:

Think\Log::record('測試日志信息,這是警告級別','WARN');

record方法只會記錄當前配置允許記錄的日志級別的信息,如果應(yīng)用配置為:

'LOG_LEVEL'  =>'EMERG,ALERT,CRIT,ERR', // 只記錄EMERG ALERT CRIT ERR 錯誤

那么上面的record方法記錄的日志信息會被直接過濾,或者你可以強制記錄:

Think\Log::record('測試日志信息,這是警告級別','WARN',true);

采用record方法記錄的日志信息不是實時保存的,如果需要實時記錄的話,可以采用write方法,例如:

Think\Log::write('測試日志信息,這是警告級別,并且實時寫入','WARN');

write方法寫入日志的時候 不受配置的允許日志級別影響,可以實時寫入任意級別的日志信息。


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: