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

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

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

Monolog遵循PSR3的接口規(guī)范,可以很輕易的替換成其他遵循同一規(guī)范的日志類庫。Monolog具有良好的擴(kuò)展性,通過Handler、Formatter和Processor這幾個(gè)接口,可以對Monolog類庫進(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í),記錄會依次通過handler堆棧的處理。而每個(gè)handler也可以決定是否把記錄傳遞到下一個(gè)堆棧里的下一個(gè)handler。

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

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

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

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

日志等級

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)載。請自行檢查軟件的完整性!本站所有資源僅供學(xué)習(xí)參考。請不要將它們用于商業(yè)目的。否則,一切后果由您負(fù)責(zé)!如有侵權(quán),請聯(lián)系我們刪除。聯(lián)系方式:admin@php.cn

相關(guān)文章

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

06 Nov 2024

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

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

17 Oct 2024

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

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

13 Jan 2025

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

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

28 Dec 2024

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

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ù)庫...

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

02 Jul 2025

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

See all articles