niels-nijens / enhances-console-logging
用于增强Symfony控制台和stdout日志的组件。
1.0.1
2020-08-05 06:40 UTC
Requires
- php: ^7.2
- psr/log: ^1.1
- symfony/console: ^4.4 || ^5.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- symfony/phpunit-bridge: ^5.1
This package is auto-updated.
Last update: 2024-09-05 15:44:00 UTC
README
用于增强Symfony控制台和stdout日志的组件。
使用Composer进行安装
运行以下命令将包添加到项目的composer.json文件中
composer require niels-nijens/enhances-console-logging
用法
ProgressBarConsoleLogger
ProgressBarConsoleLogger
允许您在不直接将 ProgressBar
注入到处理进度的领域组件中时,在控制台中进行日志记录并显示进度。相反,您可以将日志注入到这些组件中。这使得您不仅可以记录到控制台/stdout,还可以记录到其他日志机制(例如文件)。
通过注入/装饰现有的PSR-3日志记录器(例如 Monolog),可以实现将日志记录到进度条和其他日志机制。
ProgressBarConsoleLogger
遵循 PSR-3日志规范,并因此实现了 Psr\Log\LoggerInterface
。
<?php declare(strict_types=1); use Nijens\EnhancesConsoleLogging\ProgressBar\LogContext; use Nijens\EnhancesConsoleLogging\ProgressBar\ProgressBarConsoleLogger; use Psr\Log\LoggerInterface; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Output\OutputInterface; /** @var $monolog LoggerInterface */ /** @var $output OutputInterface */ $progressBar = new ProgressBar($output); $logger = new ProgressBarConsoleLogger($monolog); $logger->registerProgressBar( 'test', // A unique identifier to reference the progress bar through the log context. $progressBar ); $logger->info( 'This message will be set on the progress bar.', [ LogContext::PROGRESS_IDENTIFIER_KEY => 'test', // The unique identifier. LogContext::PROGRESS_INCREMENT_KEY => 0, // Allows incrementing the max steps. (optional) LogContext::PROGRESS_ADVANCE_KEY => 0, // Allows advancing the steps. (optional) ] );
测试和代码规范
可以通过运行以下命令执行单元测试
composer test
可以通过运行以下命令之一来修复或验证代码风格
composer cs-fixer || composer cs-validate
安全性
如果您发现任何安全相关的问题,请通过电子邮件 nijens.niels+security [at] gmail.com 通知,而不是使用问题跟踪器。
致谢
许可
本软件包采用MIT许可。有关更多信息,请参阅LICENSE文件。