搜尋
首頁php框架ThinkPHPthinkphp日誌記錄設定教學課程

thinkphp日誌記錄設定教學課程

Jun 01, 2020 pm 05:15 PM
thinkphp

thinkphp日誌記錄設定教學課程

thinkphp 日誌記錄

#日誌的處理工作是由系統自動進行的,在開啟日誌記錄的情況下,會記錄下允許的日誌等級的所有日誌資訊。

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

預設只是在偵錯模式記錄日誌,要在部署模式開啟日誌記錄,必須在設定中開啟LOG_RECORD參數,以及可以在應用程式設定檔中配置需要記錄的日誌級別,例如:

  1. <span class="str">'LOG_RECORD'<span class="pln"> <span class="pun">=><span class="pln"> <span class="kwd">true<span class="pun">,<span class="pln"> <span class="com">//開啟日誌記錄</span></span></span></span></span></span></span></span>
  2. <span class="str">#'LOG_LEVEL'<span class="pln"> <span class="pun">=><span class="str">'EMERG,ALERT,CRIT,ERR'<span class="pun">,<span class="pln"> <span class="com">// 只記錄EMERG ALERT CRIT ERR 錯誤</span></span></span></span></span> </span></span>

日誌等級

ThinkPHP對系統的日誌依照層級來分類,包括:

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

記錄方式

日誌的記錄方式預設是檔案方式,可以透過驅動的方式來擴展支援更多的記錄方式。

記錄方式由LOG_TYPE參數配置,例如:

  1. <span class="str">#'LOG_TYPE'<span class="pln"> <span class="pun">=><span class="pln"> <span class="str">'File '<span class="pun">,<span class="pln"> <span class="com">// 日誌記錄類型預設為檔案方式</span></span></span></span></span></span></span></span>

#File方式記錄,對應的驅動程式檔案位於系統的Library/Think/Log/Driver/File.class.php

手動記錄

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

方法 描述
#Log::r​​ecord() 記錄日誌資訊到記憶體
Log::save() #把儲存在記憶體中的日誌資訊(用指定的記錄方式)寫入
Log::write() 即時寫入一條日誌訊息

由於系統在請求結束後會自動呼叫Log::save方法,所以通常,你只需要呼叫Log::r​​ecord記錄日誌資訊。

record方法用法如下:

  1. <span class="pln">\Think\Log<span class="pun">::<span class="pln">record<span class="pun">(<span class="str">'測試日誌訊息'<span class="pun">);</span></span></span></span></span></span>

#預設的話記錄的日誌等級是ERR,也可以指定日誌級別:

  1. <span class="pln">\Think\Log<span class="pun">::<span class="pln">record<span class="pun">(<span class="str">'測試日誌訊息,這是警告等級'<span class="pun">, <span class="str">'WARN'<span class="pun">);</span></span></span></span></span></span></span></span>

record方法只會記錄目前配置允許記錄的日誌等級的信息,如果應用配置為:

  1. <span class="str">'LOG_LEVEL'<span class="pln"> <span class="pun">=><span class="str">'EMERG, ALERT,CRIT,ERR'<span class="pun">,<span class="pln"> <span class="com">// 只記錄EMERG ALERT CRIT ERR 錯誤</span></span></span></span></span></span></span>

那麼上面的record方法記錄的日誌資訊會被直接過濾,或者你可以強制記錄:

  1. <span class="pln">\Think\Log<span class="pun"> ::<span class="pln">record<span class="pun">(<span class="str">'測試日誌訊息,這是警告等級'<span class="pun">,<span class="str">'WARN'<span class="pun">,<span class="kwd">true<span class="pun">);</span></span></span></span></span></span></span></span></span></span>

#採用record方法記錄的日誌資訊不是即時儲存的,如果需要即時記錄的話,可以採用write方法,例如:

  1. <span class="pln">\Think\Log<span class="pun">::<span class="pln">write<span class="pun">(<span class="str">'測試日誌訊息,這是警告級別,並且即時寫入'<span class="pun">,<span class="str">'WARN'<span class="pun">);</span></span></span></span></span></span></span> </span>
##write方法寫入日誌的時候不受配置的允許日誌等級影響,可以即時寫入任意等級的日誌資訊。

推薦教學:《
TP5

以上是thinkphp日誌記錄設定教學課程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:cnblogs。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。