gfaugere / monolog-colored-line
一个简单的格式化器,可以为您的日志添加级别相关的颜色。
1.0.0
2020-09-02 22:00 UTC
Requires
- monolog/monolog: ^2.0
Requires (Dev)
- phpstan/phpstan: ^0.12.42
- phpunit/php-code-coverage: ^9.1
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-19 02:00:23 UTC
README
一个简单的格式化器,可以为您的日志添加级别相关的颜色。
安装
通过composer安装
$ composer require gfaugere/monolog-colored-line
基本用法
使用方式与Monolog\LineFormatter相同
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; use gfaugere\Monolog\Formatter\ColoredLineFormatter; $formatter = new ColoredLineFormatter(); // Create a handler $stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG); // Don't forget to attach your new formatter $stream->setFormatter($formatter); // Create a log channel $log = new Logger('name'); $log->pushHandler($stream); // Add records as usual $log->warning('Foo'); $log->error('Bar');
默认颜色
自定义格式
默认情况下,%level_name%将被颜色包围。您可以使用格式中的新变量%color_start%和%color_end%来选择要着色的内容
此示例使用"%color_start%[%datetime%] %channel%.%level_name%:%color_end% %message% %context% %extra%\n"作为格式。
如果您想使用多个%level_name%但只想着色第一个,可以将$colorMode设置为ColoredLineFormatter::MODE_COLOR_LEVEL_FIRST,以便仅格式化第一个出现的内容。
自定义方案
您可以选择自己的颜色方案
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; use gfaugere\Monolog\Formatter\ColoredLineFormatter; $format = "[%datetime%] %color_start%%channel%.%level_name%: %message%%color_end% %context% %extra%\n"; $scheme = [ Logger::DEBUG => "\033[38;5;206m", Logger::INFO => "\033[38;5;196m", Logger::NOTICE => "\033[38;5;202m", Logger::WARNING => "\033[38;5;226m", Logger::ERROR => "\033[38;5;34m", Logger::CRITICAL => "\033[38;5;81m", Logger::ALERT => "\033[38;5;53m", Logger::EMERGENCY => "\033[38;5;129m" ]; $formatter = new ColoredLineFormatter($format, null, false, false, $scheme); // Create a handler $stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG); // Don't forget to attach your new formatter $stream->setFormatter($formatter); // Create a log channel $log = new Logger('name'); $log->pushHandler($stream); // Add records as usual $log->warning('Foo'); $log->error('Bar');
此格式化器不会对序列进行任何检查或验证。您可以使用终端支持的任何内容!

关于
要求
支持Monolog ^2.0,适用于PHP 7.2或更高版本
