国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 PHP 庫 其它類庫 monolog-日志PHP類庫
monolog-日志PHP類庫

Monolog是php下比較全又容易擴展的記錄日志類庫。目前有包括Symfony 、Laravel、 CakePHP等諸多知名php框架都內(nèi)置了Monolog。Monolog可以把你的日志發(fā)送到文件,sockets,收件箱,數(shù)據(jù)庫和各種web services。

Monolog遵循PSR3的接口規(guī)范,可以很輕易的替換成其他遵循同一規(guī)范的日志類庫。Monolog具有良好的擴展性,通過Handler、Formatter和Processor這幾個接口,可以對Monolog類庫進行各種擴展和自定義。

基本用法

<?php 
use Monolog\Logger; 
use Monolog\Handler\StreamHandler; 
 
// 創(chuàng)建日志頻道 
$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,我們可以實現(xiàn)一些復雜的日志操作。例如我們把StreamHandler放在堆棧的最下面,那么所有的日志記錄最終都會寫到硬盤文件里。同時我們把MailHandler放在堆棧的最上面,通過設置日志等級把錯誤日志通過郵件發(fā)送出去。Handler里有個$bubble屬性,這個屬性定義了handler是否攔截記錄不讓它流到下一個handler。所以如果我們把MailHandler的$bubble參數(shù)設置為false,則出現(xiàn)錯誤日志時,日志會通過MailHandler發(fā)送出去,而不會經(jīng)過StreamHandler寫到硬盤上。

Logger可以創(chuàng)建多個,每個都可以定義自己的頻道名和handler堆棧。handler可以在多個Logger中共享。頻道名會反映在日志里,方便我們查看和過濾日志記錄。

如果沒有指定日志格式(Formatter),Handler會使用默認的Formatter。

日志的等級不能自定義,目前使用的是RFC 5424里定義的8個等級:debug、info、notice、warning、error、critical、alert和emergency。如果對日志記錄有其他的需求,可以通過Processo對日志記錄添加內(nèi)容。

日志等級

DEBUG (100): 詳細的debug信息。

INFO (200): 關鍵事件。

NOTICE (250): 普通但是重要的事件。

WARNING (300): 出現(xiàn)非錯誤的異常。

ERROR (400): 運行時錯誤,但是不需要立刻處理。

CRITICA (500): 嚴重錯誤。

EMERGENCY (600): 系統(tǒng)不可用。


免責聲明

本站所有資源均由網(wǎng)友貢獻或各大下載網(wǎng)站轉載。請自行檢查軟件的完整性!本站所有資源僅供學習參考。請不要將它們用于商業(yè)目的。否則,一切后果由您負責!如有侵權,請聯(lián)系我們刪除。聯(lián)系方式:admin@php.cn

相關文章

可以將 PHP 錯誤存儲在數(shù)據(jù)庫中而不是日志文件中嗎? 可以將 PHP 錯誤存儲在數(shù)據(jù)庫中而不是日志文件中嗎?

06 Nov 2024

PHP 錯誤可以寫入數(shù)據(jù)庫而不是錯誤日志文件嗎?PHP 錯誤通常記錄到標準 error_log 文件中,但它可能是...

如何在 PHP 中重新格式化數(shù)據(jù)庫日期以提高人類可讀性? 如何在 PHP 中重新格式化數(shù)據(jù)庫日期以提高人類可讀性?

17 Oct 2024

在 PHP 中重新格式化日期:綜合指南從數(shù)據(jù)庫中檢索日期時,它們通常以數(shù)字格式出現(xiàn),例如“2009-08-12”。雖然這種格式很容易被計算機解析,但對于人類來說可能很難解釋

如何使用自連接從自引用表中檢索數(shù)據(jù)? 如何使用自連接從自引用表中檢索數(shù)據(jù)?

13 Jan 2025

了解 SELF JOIN 及其應用程序在數(shù)據(jù)庫管理領域中,SELF JOIN 是一種特殊類型的聯(lián)接操作,它允許...

在 Joomla 中連接第三方 PHP 庫 在 Joomla 中連接第三方 PHP 庫

28 Dec 2024

PHP 庫很方便,因為可以從應用程序中的任何位置訪問它們:從插件、組件模型、模塊等。如果有人已經(jīng)解決了類似的問題并將其設計為庫(甚至更新了它),那就有意義了

Oracle 數(shù)據(jù)庫現(xiàn)在支持布爾數(shù)據(jù)類型嗎? Oracle 數(shù)據(jù)庫現(xiàn)在支持布爾數(shù)據(jù)類型嗎?

12 Jan 2025

Oracle 數(shù)據(jù)庫中布爾數(shù)據(jù)類型的可用性與其他 RDBMS(例如提供 BIT 數(shù)據(jù)類型的 Microsoft SQL Server)不同,Oracle 數(shù)據(jù)庫...

三個班級裝載機是什么? 三個班級裝載機是什么?

02 Jul 2025

Java中的三個主要類加載器是BootstrapClassLoader、ExtensionClassLoader和ApplicationClassLoader,它們構成了雙親委派模型。1.BootstrapClassLoader是最頂層的類加載器,由C/C 實現(xiàn),負責加載Java核心類庫(如rt.jar),位于jre/lib目錄下,用戶無法直接訪問;2.ExtensionClassLoader是其子類加載器,負責加載jre/lib/ext路徑下的擴展類庫,可通過ClassLoader.getS

See all articles