亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) PHP 庫(kù) 其它類(lèi)庫(kù) monolog-日志PHP類(lèi)庫(kù)
monolog-日志PHP類(lèi)庫(kù)

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

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

基本用法

<?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');

核心概念

每一個(gè)Logger實(shí)例都包含一個(gè)頻道名(channel)和handler的堆棧。當(dāng)你添加一條記錄時(shí),記錄會(huì)依次通過(guò)handler堆棧的處理。而每個(gè)handler也可以決定是否把記錄傳遞到下一個(gè)堆棧里的下一個(gè)handler。

通過(guò)handler,我們可以實(shí)現(xiàn)一些復(fù)雜的日志操作。例如我們把StreamHandler放在堆棧的最下面,那么所有的日志記錄最終都會(huì)寫(xiě)到硬盤(pán)文件里。同時(shí)我們把MailHandler放在堆棧的最上面,通過(guò)設(shè)置日志等級(jí)把錯(cuò)誤日志通過(guò)郵件發(fā)送出去。Handler里有個(gè)$bubble屬性,這個(gè)屬性定義了handler是否攔截記錄不讓它流到下一個(gè)handler。所以如果我們把MailHandler的$bubble參數(shù)設(shè)置為false,則出現(xiàn)錯(cuò)誤日志時(shí),日志會(huì)通過(guò)MailHandler發(fā)送出去,而不會(huì)經(jīng)過(guò)StreamHandler寫(xiě)到硬盤(pán)上。

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

如果沒(méi)有指定日志格式(Formatter),Handler會(huì)使用默認(rèn)的Formatter。

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

日志等級(jí)

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

INFO (200): 關(guān)鍵事件。

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

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

ERROR (400): 運(yùn)行時(shí)錯(cuò)誤,但是不需要立刻處理。

CRITICA (500): 嚴(yán)重錯(cuò)誤。

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


免責(zé)聲明

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

相關(guān)文章

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

17 Oct 2024

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

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

06 Nov 2024

PHP 錯(cuò)誤可以寫(xiě)入數(shù)據(jù)庫(kù)而不是錯(cuò)誤日志文件嗎?PHP 錯(cuò)誤通常記錄到標(biāo)準(zhǔn) error_log 文件中,但它可能是...

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

13 Jan 2025

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

在 Joomla 中連接第三方 PHP 庫(kù) 在 Joomla 中連接第三方 PHP 庫(kù)

28 Dec 2024

PHP 庫(kù)很方便,因?yàn)榭梢詮膽?yīng)用程序中的任何位置訪問(wèn)它們:從插件、組件模型、模塊等。如果有人已經(jīng)解決了類(lèi)似的問(wèn)題并將其設(shè)計(jì)為庫(kù)(甚至更新了它),那就有意義了

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

12 Jan 2025

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

三個(gè)班級(jí)裝載機(jī)是什么? 三個(gè)班級(jí)裝載機(jī)是什么?

02 Jul 2025

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

See all articles