Pollen Solutions - 日志组件 - Monolog PSR-3 日志实现。
v1.0.1
2021-08-12 00:00 UTC
Requires
- php: ^7.4 || ^8.0
- monolog/monolog: ^2.2
- pollen-solutions/support: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.0
- roave/security-advisories: dev-latest
Suggests
- pollen-solutions/container: Pollen Solutions - Container Component - PSR-11 ready Dependencies Injection Container.
This package is auto-updated.
Last update: 2024-09-30 01:32:35 UTC
README
Pollen Solutions 日志 组件提供基于 Monolog 的 PSR-3 日志实现。
安装
composer require pollen-solutions/log
基本用法
use Pollen\Log\LogManager; $log = new LogManager(); // Adds a log record at the DEBUG level $log->debug('My debug message'); // Adds a log record at the INFO level $log->debug('My info message'); // Adds a log record at the SUCCESS level $log->success('My success message'); // Adds a log record at the NOTICE level $log->notice('My notice message'); // Adds a log record at the WARNING level $log->warning('My warning message'); // Adds a log record at the ERROR level $log->error('My error message'); // Adds a log record at the CRITICAL level $log->critical('My critical message'); // Adds a log record at the ALERT level $log->alert('My alert message'); // Adds a log record at the EMERGENCY level $log->emergency('My alert message');
日志存储路径
默认情况下,如果没有指定特定处理器,日志管理器使用 Monolog RotatingFileHandler。它将日志文件存储在应用程序的公共目录中。建议将其更改为一个更合适的路径,并确保具有适当的写入文件权限。
use Pollen\Log\LogManager; $log = (new LogManager())->setDefaultStoragePath('/var/log/myapp');
创建内置通道并使用它
与默认日志通道一样,内置通道使用 RotatingFileHandler 和 LineFormatter。但您也可以自定义其一些参数。
use Pollen\Log\Logger; use Pollen\Log\LogManager; $log = new LogManager(); $log->registerChannel('my-channel', [ /** * Log filename (relative or absolute). * @see \Monolog\Handler\RotatingFileHandler * @var string|null */ 'filename' => null, /** * Rotation frequency. * @see \Monolog\Handler\RotatingFileHandler * @var int|null */ 'rotate' => null, /** * Minimum logging level. * @see \Monolog\Handler\RotatingFileHandler * @var string|null */ 'level' => Logger::SUCCESS, /** * Line format. * @see \Monolog\Formatter\LineFormatter * @var string|null */ 'format' => null, /** * Date format. * @see \Monolog\Formatter\LineFormatter * @var string|null */ 'date_format' => null ]); $log->channel('my-channel')->success('Test log success message');
创建您自己的自定义通道
Monolog 提供了大量的 处理器 和 格式化器。您可能需要使用您自己的配置并在 Pollen Solutions 日志组件中使用它。
use Monolog\Handler\NativeMailerHandler; use Pollen\Log\Logger; use Pollen\Log\LogManager; $log = new LogManager(); $channel = new Logger( 'mailer', [new NativeMailerHandler('to@domain.ltd', 'You have a log report message !', 'from@domain.ltd')] ); $log->addChannel($channel); $log->channel('mailer')->error('Test log error message');