PHP Monolog如何自定義日志格式

PHP
小樊
113
2024-08-15 07:54:37

Monolog 是 PHP 中一個(gè)強(qiáng)大的日志記錄庫(kù),它可以讓你輕松地記錄各種類(lèi)型的日志信息。如果你想自定義 Monolog 的日志格式,你可以使用 Monolog 的 Formatter 類(lèi)來(lái)實(shí)現(xiàn)。

以下是一個(gè)簡(jiǎn)單的例子,演示如何在 Monolog 中自定義日志格式:

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;

// 創(chuàng)建一個(gè)Logger實(shí)例
$log = new Logger('custom_logger');

// 創(chuàng)建一個(gè)處理程序,并設(shè)置日志級(jí)別
$handler = new StreamHandler('path/to/your/logfile.log', Logger::DEBUG);

// 創(chuàng)建一個(gè)自定義格式
$formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n", "Y-m-d H:i:s");
$handler->setFormatter($formatter);

// 將處理程序添加到日志記錄器
$log->pushHandler($handler);

// 記錄日志
$log->info('This is a custom log message');

在上面的示例中,我們首先創(chuàng)建了一個(gè) Logger 實(shí)例,然后創(chuàng)建了一個(gè) StreamHandler 處理程序,并將其設(shè)置為 DEBUG 級(jí)別。接著,我們創(chuàng)建了一個(gè) LineFormatter 實(shí)例,并設(shè)置自定義的日志格式。最后,我們將處理程序添加到日志記錄器,并使用 info 方法記錄了一條日志消息。

通過(guò)使用 LineFormatter 類(lèi),你可以自定義日志記錄的格式,包括日期時(shí)間、日志級(jí)別、消息內(nèi)容等。你可以根據(jù)自己的需求調(diào)整日志格式,以便更好地滿足你的日志記錄需求。

0