最新下載
夢幻水族館
少女前線
星之翼
小花仙精靈樂園
餐廳萌物語
山河旅探
戀與製作人
最強腦3
異塵:達米拉
少年西遊記2
24小時閱讀排行榜
- 1 《殭屍圍城》豪華重製版:如何為 Kent 的照片挑戰拍攝 1,000 PP 幽默鏡頭
- 2 JavaScript 中的對象
- 3 您應該了解的熱門免費 API
- 4 使用 Cluster 模組擴充 Node.js
- 5 如何將通訊錄與手機同步?在 Go 中實現 CardDAV!
- 6 CSS 中的新值與新函數
- 7 EchoAPI 與 Insomnia:結合實例進行綜合比較
- 8 《殭屍圍城》豪華重製版捷徑指南:如何解鎖「仙境」和「隧道」捷徑
- 9 介紹 JDK Java Developer 的終極升級以及進階 AI 增強功能
- 10 《殭屍圍城》豪華重製版:所有倖存者以及在哪裡可以找到他們
- 11 在 Laravel 測試排隊作業的技巧
- 12 Ripple 相關錢包在法律訴訟中轉移 1 億 XRP
- 13 88% 的持有者持有帳面利潤,比特幣 (BTC) 價格突破 62,000 美元
- 14 如何修復 Tailwind CSS 在 Next.js 中不起作用的問題
- 15 隨著狗狗幣 (DOGE)、柴犬 (SHIB) 和 Popcat (POPCAT) 的上漲,Meme 幣市場升溫
最新教學
-
- 國外Web開發全端課程全集
- 1351 2024-04-24
-
- Go語言實戰之 GraphQL
- 1636 2024-04-19
-
- 550W粉絲大佬手把手從零學JavaScript
- 3053 2024-04-18
-
- python大神Mosh,零基礎小白6小時完全入門
- 2578 2024-04-10
-
- MySQL 初學入門(mosh老師)
- 1529 2024-04-07
-
- Mock.js | Axios.js | Json | Ajax--十天精品課堂
- 2381 2024-03-29
Monolog是php下比較全又容易擴充的記錄日誌類別庫。目前有包括Symfony 、Laravel、 CakePHP等諸多知名php框架都內建了Monolog。 Monolog可以把你的日誌送到文件,sockets,收件箱,資料庫和各種web services。
Monolog遵循PSR3的介面規範,可以很輕易的替換成其他遵循相同規範的日誌類別庫。 Monolog具有良好的擴充性,透過Handler、Formatter和Processor這幾個接口,可以對Monolog類別庫進行各種擴充和自訂。
基本用法
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // 创建日志频道 $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // 添加日志记录 $log->addWarning('Foo'); $log->addError('Bar');
核心概念
每一個Logger實例都包含一個頻道名稱(channel)和handler的堆疊。當你新增一筆記錄時,記錄會依序通過handler堆疊的處理。而每個handler也可以決定是否把記錄傳遞到下一個堆疊裡的下一個handler。
透過handler,我們可以實作一些複雜的日誌操作。例如我們把StreamHandler放在堆疊的最下面,那麼所有的日誌記錄最終都會寫到硬碟檔案裡。同時我們把MailHandler放在堆疊的最上面,透過設定日誌等級把錯誤日誌透過郵件發送出去。 Handler裡有個$bubble屬性,這個屬性定義了handler是否攔截記錄不讓它流到下一個handler。所以如果我們把MailHandler的$bubble參數設定為false,則出現錯誤日誌時,日誌會透過MailHandler傳送出去,而不會經過StreamHandler寫到硬碟上。
Logger可以建立多個,每個都可以定義自己的頻道名稱和handler堆疊。 handler可以在多個Logger中共享。頻道名稱會反映在日誌裡,方便我們檢視和篩選日誌記錄。
如果沒有指定日誌格式(Formatter),Handler會使用預設的Formatter。
日誌的等級不能自訂,目前使用的是RFC 5424裡定義的8個等級:debug、info、notice、warning、error、critical、alert和emergency。如果對日誌記錄有其他的需求,可以透過Processo對日誌記錄新增內容。
日誌等級
DEBUG (100): 詳細的debug資訊。
INFO (200): 關鍵事件。
NOTICE (250): 普通但是重要的事件。
WARNING (300): 出現非錯誤的例外。
ERROR (400): 執行階段錯誤,但不需要立刻處理。
CRITICA (500): 嚴重錯誤。
EMERGENCY (600): 系統不可用。