自訂記錄概觀

記錄提供系統程式的可見度;例如,偵錯資訊可協助您瞭解何時發生錯誤或導致錯誤的原因。

雖然Commerce也提供在資料庫中儲存記錄檔的靈活性,但本主題著重於檔案型記錄。

Adobe建議使用集中式應用程式記錄,原因如下:

  • 它允許在應用程式伺服器以外的伺服器上儲存記錄檔,並減少磁碟I/O作業,簡化對應用程式伺服器的支援。

  • 它使用特殊工具(例如LogstashLogplex或[fluentd]),讓處理記錄資料更有效率,而不會影響生產伺服器。

    note info
    INFO
    Adobe不建議或認可任何特定的記錄解決方案。

PSR-3法規遵循

PSR-3標準定義了記錄程式庫的通用PHP介面。 PSR-3的主要目標是允許程式庫接收Psr\Log\LoggerInterface物件,並以簡單且通用的方式向其寫入記錄。

如此一來,您便可輕鬆取代實作,不必擔心這類取代作業會破壞應用程式程式碼。 這也能確保自訂元件即使在將來的系統版本中變更記錄實作也能運作。

獨白

Commerce 2符合PSR-3標準。 依預設,Commerce使用獨白。 在Commerce應用程式di.xml中實作為Psr\Log\LoggerInterface偏好設定的獨白。

Monolog是一種常用的PHP記錄解決方案,具有廣泛的處理常式,可讓您建置進階記錄策略。 以下是「獨白」運作方式的摘要。

Monolog logger ​是擁有自己的​ 處理常式集 ​的通道。 Monolog有許多處理常式,包括:

  • 記錄到檔案和syslog
  • 傳送警示和電子郵件
  • 記錄特定的伺服器和網路記錄
  • 登入開發(與FireBug和Chrome Logger等整合)
  • 登入資料庫

每個處理常式都可以處理輸入訊息並停止傳播,或將控制項傳遞至鏈結中的下一個處理常式。

記錄訊息可以許多不同的方式處理。 例如,您可以將所有除錯資訊儲存在磁碟上的檔案中,將記錄層級較高的訊息放入資料庫中,最後透過電子郵件傳送記錄層級為「嚴重」的訊息。

其他管道可以有不同的處理常式集和邏輯。

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c