TP框架如何開啟log日志


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

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

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

'LOG_RECORD' => true, // 開啟日志記錄

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



日志級別

ThinkPHP對系統的日志按照級別來分類,包括:

  • EMERG 嚴重錯誤,導致系統崩潰無法使用
  • ALERT 警戒性錯誤, 必須被立即修改的錯誤
  • CRIT 臨界值錯誤, 超過臨界值的錯誤
  • ERR 一般性錯誤
  • WARN 警告性錯誤, 需要發出警告的錯誤
  • NOTICE 通知,程序可以運行但是還不夠完美的錯誤
  • INFO 信息,程序輸出信息
  • DEBUG 調試,用於調試信息
  • SQL SQL語句,該級別只在調試模式開啟時有效

 

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();

文章來源:劉俊濤的博客

地址:http://www.cnblogs.com/lovebing

歡迎關注,有問題一起學習歡迎留言、評論。


免責聲明!

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



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